News AggregatorEnhancing Few-Shot Text Classification With Noisy Channel Language Model PromptingAggregated on: 2024-09-18 22:21:15 Few-shot learning is a fascinating area in natural language processing (NLP), where models are trained to perform tasks with very few labeled examples. Traditional approaches often rely on directly modeling the conditional probability of a label given an input text. However, these methods can be unstable, especially when dealing with imbalanced data or the need for generalization to unseen labels. A recent advancement in this area is the noisy channel language model prompting, which takes inspiration from classic noisy channel models in machine translation to improve few-shot text classification. Here are two concrete examples of problems in few-shot learning that the noisy channel language model prompting aims to solve: View more...Performing Advanced Facebook Event Data Analysis With a Vector DatabaseAggregated on: 2024-09-18 21:21:15 In today's digital age, professionals across all industries must stay updated with upcoming events, conferences, and workshops. However, efficiently finding events that align with one's interests amidst the vast ocean of online information presents a significant challenge. This blog introduces an innovative solution to this challenge: a comprehensive application designed to scrape event data from Facebook (opens new window)and analyzes the scraped data using MyScale(opens new window. While MyScale is commonly associated with the RAG tech stack or used as a vector database, its capabilities extend beyond these realms. We will utilize it for data analysis, leveraging its vector search functionality to analyze events that are semantically similar, thus providing better results and insights. View more...Optimizing Cost and Carbon Footprint With Smart Scaling Using SQS Queue Triggers: Part 1Aggregated on: 2024-09-18 20:21:15 The rising demand for sustainable and eco-friendly computing solutions has given rise to the area of green computing. According to Wikipedia, Green computing, green IT (Information Technology), or ICT sustainability, is the study and practice of environmentally sustainable computing or IT. With the rise of cloud computing in the last few decades, green computing has become a big focus in the design and architecture of software systems in the cloud. This focus on optimizing the resources for energy efficiency allows us to focus on cost optimization in addition to reducing the carbon footprint. AWS is one of the cloud providers leading the movement from the front. AWS is investing heavily in renewable energy and designing its data centers with efficiency in mind. According to the Amazon Climate Pledge, Amazon aims to achieve net-zero carbon emissions by 2040 and has already made significant strides, including powering its operations with 100% renewable energy by 2025. Additionally, AWS provides tools like the AWS Carbon Footprint Calculator, enabling customers to monitor and reduce their carbon emissions, thereby fostering a more sustainable digital ecosystem. View more...Kafka Message TestingAggregated on: 2024-09-18 19:36:15 This article offers an approach to writing integration tests for Kafka-based applications that focuses on interaction specification, making tests more readable and easier to maintain. The proposed method not only enhances testing efficiency but also contributes to a better understanding of the integration processes within the application. The article builds on three ideas presented in relevant articles: writing tests with a clear separation of Arrange-Act-Assert stages, isolation in Kafka tests, and using tools to enhance test visibility. I recommend reviewing these before delving into the material of this article. View more...Securing Your Enterprise With an Identity-First Security StrategyAggregated on: 2024-09-18 18:51:15 According to Fortune Business Insights, the global Software as a Service (SaaS) market is projected to grow from USD 317 billion in 2024 to USD 1.2 trillion by 2032, with a compound annual growth rate (CAGR) of 18.4%. This substantial growth in SaaS and cloud service adoption is primarily driven by modern technological advancements, such as artificial intelligence, and a predominantly hybrid workforce that requires productivity to remain competitive. However, this increased reliance on SaaS software has also led to a rise in cyberattacks. A study from the University of Maryland reveals that hackers attempt an attack every 39 seconds on average. With the emergence of AI, cyberattacks are becoming more sophisticated. With the average cost of a cyberattack nearing $4.45 million, it is crucial for enterprises to evolve their security infrastructure to protect against the evolving threat landscape posed by modern cyberattacks. Taking an Identity-First Approach to Security Malicious actors are no longer limited to targeting traditional VPN networks for unauthorized access. With the rise of remote work and organizations allowing employees to work from anywhere, attackers are increasingly targeting identities and employing modern techniques, such as social engineering attacks, to gain access to systems. According to the 2024 Verizon Data Breach Investigations Report, 68% of data breach attacks involve a human element, like a person falling victim to a social engineering attack. View more...Common Mistakes While Implementing Self-Recursive Calls in MuleSoft [Video]Aggregated on: 2024-09-18 18:36:15 What Are Self-Recursive Loops? A self-recursive loop refers to a pattern where a flow or sub-flow calls itself recursively to process data iteratively. This is typically used to handle scenarios where data needs to be processed repetitively, such as iterating over nested data structures, managing pagination, or processing large payloads in chunks. In short, it’s similar to the while/do-while loop in Java. View more...Zero To AI Hero, Part 4: Harness Local Language Models With Semantic Kernel; Your AI, Your RulesAggregated on: 2024-09-18 17:36:15 We have covered a lot of grounds in this series so far. If you are looking to start with Semantic Kernel, I highly recommend starting with Part 1. In this AI developer series, I write articles on AI developer tools and frameworks and provide working GitHub samples at the end of each one. We have already experimented with AI Agents, Personas, Planners, and Plugins. One common theme so far has been we have used an Open AI GPT-4o model deployed in Azure to do all our work. Now it is time for us to pivot and start using local models such as Phi-3 in Semantic Kernel so that you can build AI automation systems without any dependencies. This would also be a favorite solution for cyber security teams, as they don't need to worry about sensitive data getting outside of an organization's network. But I believe the happiest would be the indie hackers who want to save on cost and still have an effective Language Model that they can use without worrying about token cost and tokens per minute. What Is the Small Language Model? Small language models (SLMs) are increasingly becoming the go-to choice for developers who need robust AI capabilities without the baggage of heavy cloud dependency. These nimble models are designed to run locally, providing control and privacy that large-scale cloud models can’t match. SLMs like Phi-3 offer a sweet spot — they’re compact enough to run on everyday hardware but still pack enough punch to handle a range of AI tasks, from summarizing documents to powering conversational agents. The appeal? It’s all about balancing power, performance, and privacy. By keeping data processing on your local machine, SLMs help mitigate privacy concerns, making them a natural fit for sensitive sectors like healthcare, finance, and legal, where every byte of data matters. View more...Case Study: Scaling Intuit’s Revenue Platform for Global CommerceAggregated on: 2024-09-18 17:06:15 A few years back, in my role as a platform product manager at Intuit, I was charged with the responsibility of building and scaling the revenue platform that fuels all of Intuit’s products such as QuickBooks and TurboTax. The system I managed was integral to Intuit’s trading networks and money-making capabilities which accounted for over $10 billion in annual revenues. This case study discusses the problems, principles of architecture, and best practices that I implemented in order to create a scalable country-agnostic customer-agnostic platform supporting both B2B and B2C transactions. The Challenge: Building a Unified Revenue Platform Intuit’s product suite covers different areas, ranging from accounting software like QuickBooks designed for small and medium businesses (B2B) to consumer tax preparation services like TurboTax (B2C). This compilation posed a special challenge: How do we build a revenue platform that caters to multiple product lines, different pricing models, and varied customer segments while guaranteeing frictionless scalability and performance? View more...Nobody Cares About SecurityAggregated on: 2024-09-18 16:36:15 Nobody cares about security. There. I said it. I said the thing everyone feels, some people think, but very few have the temerity to say out loud. But before you call me a blasphemous heathen, I will ask for just a few moments of your time to offer context. I even have some ideas and solutions. View more...Test Automation for Mobile Apps: Strategy for Improved Testing ResultsAggregated on: 2024-09-17 21:21:14 We can hardly imagine our lives without the smartphones that we use every day — from staying connected with others to managing tasks. Some people may even become addicted to them: 56.9% of Americans identify as addicted to their phones, with an average screen time of 4 hours and 25 minutes per day and checking their phones within the first 10 minutes of waking up. And considering that the number of mobile app downloads across various categories continues to surge, they must operate flawlessly to provide consistently good user experience and allow people to seamlessly perform daily activities. View more...AI and Technical Debt: Balancing Innovation and SustainabilityAggregated on: 2024-09-17 20:36:14 As artificial intelligence (AI) continues to revolutionize the tech industry, developers, engineers, and architects face a new challenge: managing the technical debt that comes with rapid AI adoption. Jeff Hollan, Head of Apps and Developer Tools at Snowflake, shares invaluable insights on how to balance innovation and sustainability in AI projects. The AI Adoption Dilemma The rush to implement AI solutions has created a unique landscape where organizations must carefully navigate between seizing opportunities and avoiding potential pitfalls. As Hollan points out, View more...Programming Language With No Syntax?Aggregated on: 2024-09-17 19:21:14 Is it possible to have a programming language that has no syntax? It sounds like a contradiction. Programming languages are all about syntax, plus a bit of code generation, optimization, run-time environment, and so on. But syntax is the most important part as far as programmers are concerned. When encountering a new programming language, it takes time to learn the syntax. Could we just make the syntax disappear or at least make it as simple as possible? Could we also make the syntax arbitrary so that the programmer writing the code can define it for themselves? View more...Troubleshooting PostgreSQL Low Free MemoryAggregated on: 2024-09-17 18:21:14 Memory usage is one of the most important aspects of the database system. Having not enough memory directly affects every performance metric and negatively impacts the performance. This in turn affects our users and the business. In this blog post, we are going to understand how databases (and PostgreSQL specifically) manage memory and how to troubleshoot low free-memory scenarios. How Databases Read Data To understand how to deal with memory, we need to understand how things work. Let’s see some basic databases and operating systems mechanisms. View more...High-Load Systems: Overcoming Challenges in Social Network DevelopmentAggregated on: 2024-09-17 17:21:14 I am Alexander Kolobov. I worked as a team lead at one of the biggest social networks, where I led teams of up to 10 members, including SEO specialists, analysts, and product manager. As a developer, I designed, developed, and maintained various features for the desktop and mobile web versions of a social network across backend, frontend, and mobile application APIs. My experience includes: Redesigning the social network interface for multiple user sections Completely rewriting network widgets for external sites Maintaining privacy settings for closed profiles and the content archiving function Overhauling the backend and frontend of the mail notification system, handling millions of emails daily Creating a system for conducting NPS/CSI surveys that covered the two largest Russian social networks In this article, I am going to talk about high-load systems and the challenges they bring. I want to touch upon the following aspects: View more...Algorithmic Advances in AI-Driven Search: Optimizing Query Processing for Precision and SpeedAggregated on: 2024-09-17 16:21:14 In today’s data-driven world, efficient and accurate information retrieval is crucial. The rapid growth of unstructured data across industries poses a significant challenge for traditional search algorithms. AI has revolutionized query processing and data retrieval by introducing sophisticated techniques that optimize both the precision and speed of search results. This article dives deep into the algorithms behind AI-driven search and how they enhance query processing, enabling intelligent, relevant, and scalable search experiences. From Traditional To AI-Enhanced Query Processing Traditional query processing methods, such as Boolean search and simple keyword-based matching, relied heavily on manual indexing and rigid rule-based systems. These methods often failed to capture the user’s intent or adapt to complex queries. In contrast, AI-enhanced query processing employs machine learning (ML) and deep learning (DL) models to understand the semantics of a query, providing more accurate results by interpreting the context rather than focusing solely on keyword matching. View more...Founder Mode?Aggregated on: 2024-09-17 15:21:14 TL;DR: The Perils of Founder Mode This article delves into the darker aspects of Founder Mode, popularized by Paul Graham and others. It offers a critical perspective for agile practitioners, product leaders, startup founders, and managers who embrace this paradigm and probably fall victim to survivorship bias; the Jobs and the Cheskys are the exception, not the rule. The article explores how resulting tendencies, such as micromanagement, lack of strategic transparency, team devaluation, and reckless risk-taking, can undermine organizational health, stifle innovation, and conflict with agile principles. These can jeopardize long-term success while making work in organizations with a failed founder mode application miserable for everyone below the immediate leadership level and the founder himself. View more...Database Keys: A Comprehensive GuideAggregated on: 2024-09-17 14:21:14 In the world of database management, keys play a crucial role in organizing, accessing, and maintaining data integrity. Whether you're a seasoned database administrator or just starting your journey in data management, understanding the various types of database keys is essential. In this post, we'll explore all the different types of keys, their purposes, and how they contribute to effective database design. To illustrate these concepts, we'll use a simple university database with the following tables: View more...A Hands-On Guide to OpenTelemetry: Manual Instrumentation for DevelopersAggregated on: 2024-09-17 13:21:14 Are you ready to start your journey on the road to collecting telemetry data from your applications? In this series, you'll explore how to adopt OpenTelemetry (OTel) and how to instrument an application to collect tracing telemetry. You'll learn how to leverage out-of-the-box automatic instrumentation tools and understand when it's necessary to explore more advanced manual instrumentation for your applications. By the end of this series, you'll have an understanding of how telemetry travels from your applications to the OpenTelemetry Collector, and be ready to bring OpenTelemetry to your future projects. Everything discussed here is supported by a hands-on, self-paced workshop authored by Paige Cruz. View more...Commonly Occurring Errors in Microsoft Graph Integrations and How To Troubleshoot Them (Part 6)Aggregated on: 2024-09-16 23:21:13 This article discusses the following example: changing a column value for a list item of a “user-defined” SharePoint list, which represents a PDF file within a sub-folder of the SharePoint drive, using a DriveItem, which also represents the PDF file. SharePoint lists are central data structures that make it possible to store, organize, and manage information in tabular form. The test aims to demonstrate and explain how the MS-Graph API can be successfully used to change values in a list and correctly transfer this change to SharePoint. This ensures that the integrity of the file is maintained after the change and that no unexpected errors occur during API communication. Microsoft Graph API The Microsoft Graph API is a REST-based programming interface that provides access to a variety of services and data within the Microsoft 365 platform. It offers developers the ability to access a central interface to read, write, and manage data from services such as Azure Active Directory, Outlook, OneDrive, SharePoint, Microsoft Teams, and many more. View more...Observability Agent ArchitectureAggregated on: 2024-09-16 22:21:13 Observability agents are essential components in modern software development and operations. These software entities act as data collectors, processors, and transmitters, gathering critical telemetry data from applications, infrastructure, and network devices. This data is then sent to centralized observability platforms where it can be analyzed to gain valuable insights into system performance, identify issues, and optimize operations. By efficiently capturing, processing, and transmitting logs, metrics, and traces, observability agents provide a comprehensive view of system health and behavior. This enables organizations to make informed decisions, improve application reliability, and ensure compliance with relevant regulations. View more...Low-Level Optimizations in ClickHouse: Utilizing Branch Prediction and SIMD To Speed Up Query ExecutionAggregated on: 2024-09-16 21:21:13 In data analysis, the need for fast query execution and data retrieval is paramount. Among numerous database management systems, ClickHouse stands out for its originality and, one could say, a specific niche, which, in my opinion, complicates its expansion in the database market. I’ll probably write a series of articles on different features of ClickHouse, and this article will be a general introduction with some interesting points that few people think about when using various databases. View more...Build an Advanced RAG App: Query RoutingAggregated on: 2024-09-16 20:21:13 In previous articles, we built a basic RAG application. We also learned to introduce more advanced techniques to improve a RAG application. Today, we will explore how to tie those advanced techniques together. Those techniques might do different — sometimes opposite — things. Still, sometimes we need to use all of them, to cover all possibilities. So let's see how we can link different techniques together. In this article, we will take a look at a technique called Query Routing. The Problem With Advanced RAG Applications When our Generative AI application receives a query, we have to decide what to do with it. For simple Generative AI applications, we send the query directly to the LLM. For simple RAG applications, we use the query to retrieve context from a single data source and then query the LLM. But, if our case is more complex, we can have multiple data sources or different queries that need different types of context. So do we build a one-size-fits-all solution, or do we make the application adapt to take different actions depending on the query? View more...The Ultimate Database Scaling Cheatsheet: Strategies for Optimizing Performance and ScalabilityAggregated on: 2024-09-16 19:21:13 As applications grow in complexity and user base, the demands on their underlying databases increase significantly. Efficient database scaling becomes crucial to maintain performance, ensure reliability, and manage large volumes of data. Scaling a database effectively involves a combination of strategies that optimize both hardware and software resources to handle increasing loads. This cheatsheet provides an overview of essential techniques for database scaling. From optimizing query performance with indexing to distributing data across multiple servers with horizontal scaling, each section covers a critical aspect of database management. Whether you're dealing with a rapidly growing application or preparing for future growth, understanding these strategies will help you make informed decisions to ensure your database remains robust and responsive. View more...Leveling Up My GraphQL Skills: Real-Time SubscriptionsAggregated on: 2024-09-16 18:21:13 For a few years now, I’ve tried to identify frameworks, products, and services that allow technologists to maintain their focus on extending the value of their intellectual property. This continues to be a wonderful journey for me, filled with unique learning opportunities. The engineer in me recently wondered if there was a situation where I could find a secondary benefit for an existing concept that I’ve talked about before. In other words, could I identify another benefit with the same level of impact as the original parent solution previously recognized? View more...Selenium Grid Tutorial: Essential Tips and How To Set It UpAggregated on: 2024-09-16 17:21:13 Being a tester or a skilled web developer, you need to test your applications for bugs and performance in all the available browsers and operating systems. But with so many dependencies in hand, having not just different browsers, but different versions, too, it surely becomes a hefty task. Most importantly, all these processes must be automated to the greatest extent because in major companies, individually creating test cases and pipelines would be expensive and the most obvious, the least preferable method ever. Now this is where Selenium Grid, an extensively used server-based test automation tool comes into the picture. View more...Retrieval-Augmented Generation (RAG): Enhancing AI-Language Models With Real-World KnowledgeAggregated on: 2024-09-16 16:21:13 In recent years, AI has made big leaps forward, mainly because of large language models (LLMs). LLMs are really good at understanding and generating text that’s human-like, and they led to the creation of several new tools like advanced chatbots and AI writers. While LLMs are great at generating text that’s fluent and human-like, they sometimes struggle with getting facts right. This can be a huge problem when accuracy is really important View more...Obfuscation vs Encryption: How To Protect Your .NET Code the Right WayAggregated on: 2024-09-16 15:21:13 When working on .NET applications, one main concern is safeguarding your code from unauthorized access, intellectual property theft, and reverse engineering. This can be achieved by implementing data and code protection techniques to protect the application. There are two main techniques used to secure .NET code: obfuscation and encryption. But do you know which technique is right? And when to use each? Let’s learn from this guide. View more...How to Merge Excel XLSX Files in JavaAggregated on: 2024-09-16 14:21:13 In this article, we’re going to learn how to increase the efficiency of a common file merging workflow with the help of a web API solution. Specifically, we are going to learn how to merge Excel XLSX files – one of the most common document types we can expect to work within a file-processing automation environment. Context for Programmatic XLSX File Merging If we’re writing code to solve problems related to file processing efficiency and automation, there’s a good chance we’re creating and/or expanding applications that deal with large volumes of Excel files. We may, for example, find that there’s no automated workflow currently in place (or, perhaps, an inefficient one) to combine the various unique Excel reports created by each individual department in our organization. View more...Zero To AI Hero, Part 3: Unleashing the Power of Agents in Semantic KernelAggregated on: 2024-09-16 13:21:13 As I promised in Part 2, it is time to build something substantial with our Semantic Kernel so far. If you are new to Semantic Kernel and must dive into code/head first, I highly recommend starting with Part 1 of this series. There is a lot of theory out there, but we explore these articles with a GitHub sample you can easily download and play with to understand the core concepts. I wanted to use Agent Smith from The Matrix, but I can't seem to find one without copyrights. So, DALL-E 3 to the rescue. View more...Releasing MuleSoft APIAggregated on: 2024-09-13 23:06:12 MuleSoft Anypoint is an enterprise platform of an API event-driven architecture that allows developers to create design and build an API, and to name a few capabilities where you can share API templates and application assets. It also has a central web interface to manage, integrate, secure, and monitor API performance. Open API Specification MuleSoft API development supports Open API specification. View more...Setting Up Secure Data Lakes for Starlight Financial: A Guide to AWS ImplementationAggregated on: 2024-09-13 21:51:12 Continuing on our fictitious financial company, Starlight, series of posts, here is how to set up a data lake on AWS with security as the primary thought. Introduction In the fast-moving financial industry, data is a core asset. Starlight Financial needs to use vast amounts of data for decision-making, improving customer experience, and keeping ahead of its rivals. Consider a data lake: it's a vital part of modern data architectures, letting enterprises store both structured and unstructured data in large quantities of any kind whatsoever. Tony Hoare famously observed that with great data comes great responsibility — and so it is. Eventually, it will be some comfort to know that one of the most important steps for consultancy in validating big data architectures using AWS services has been elucidated. That is to say: test them just like any other system you might use. This is a guide to establishing a highly secure data lake using AWS services, specifically focused on the needs of financial institutions, written by us using a blog structure. View more...Synchronizing Files from Maximo Application Suite 8 To a Shared Drive Without OpenShift IntegrationAggregated on: 2024-09-13 20:51:12 In IBM Maximo 7.6 and earlier versions, it was common to have Maximo drop files directly onto a network shared drive connected to your administrative server. This setup allowed for seamless file handling and sharing across your network. With the advent of Maximo Application Suite (MAS) 8, you can achieve similar functionality if the shared drive is integrated as part of your OpenShift storage class (e.g., NFS, CSI). However, there are scenarios where you might not want the shared drive to be part of OpenShift. In this article, we explore how to implement file synchronization from MAS8 to a shared drive without involving OpenShift storage. Design and Solution Implementation In this solution, we provide a script that runs as a part of your Orchestrator server, using a kubeconfig file for authentication. Additionally, ensure that the shared drive is mounted to the Orchestrator server. This setup allows you to copy files from the MAXINST pod to the shared drive without integrating the drive into OpenShift. View more...A Short History of AJAX and SSRAggregated on: 2024-09-13 19:21:12 My journey in programming began over two decades ago, a time when JavaScript was a far cry from its current state, and developers were primarily focused on Microsoft Internet Explorer. One of my proudest achievements back then was writing a few lines of code that allowed users to add and remove table rows entirely on the client side. We called it DHTML. Many developers today have forgotten about it — or never knew it existed. A few years later, AJAX emerged, revolutionizing the way we approached web development. The emergence of AJAX marked a significant shift in web development, transferring more logic from the server to the client, and this shift was not without reason. View more...The Critical Role of Data at Rest Encryption in CybersecurityAggregated on: 2024-09-13 17:51:12 Securing information is crucial as cyber-attacks are getting more sophisticated. Data residing in an unprotected state at rest (databases, stored files, and backups) pose one of the most significant risks. Data at rest encryption is necessary to guarantee that information is safe and unreadable even in the event of illegal access. This discussion highlights why encrypting data is seen as an indispensable part of bolstering overall cyber security and keeping assets safe from unwanted entry. View more...How To Solve OutOfMemoryError: MetaspaceAggregated on: 2024-09-13 16:21:12 There are 9 types of java.lang.OutOfMemoryErrors, each signaling a unique memory-related issue within Java applications. Among these, java.lang.OutOfMemoryError: Metaspace is a challenging error to diagnose. In this post, we’ll delve into the root causes behind this error, explore potential solutions, and discuss effective diagnostic methods to troubleshoot this problem. Let’s equip ourselves with the knowledge and tools to conquer this common adversary. JVM Memory Regions To better understand OutOfMemoryError, we first need to understand different JVM Memory regions. Here is a video clip that gives a good introduction to different JVM memory regions. But in a nutshell, JVM has the following memory regions: Figure 1: JVM memory regions View more...Understanding the Purposes of Key Terraform Files and How to Structure Their FoldersAggregated on: 2024-09-12 19:21:11 Terraform is the go-to platform for deploying and managing infrastructure as code (IaC). But for Terraform to function, it needs a set of configuration files that specify the resources, settings, and structure of your infrastructure. How you create and organize IaC files will have a big impact on how effective and efficient your IaC deployment becomes, especially as your environment scales and evolves. The goal of this article is to help you understand the role and function of some of the most critical Terraform files, and how you can structure their folders to optimize the efficiency and scalability of your cloud resources. Learn about the importance of keeping Terraform files in order, and explore some tips for making sure your setup serves your IaC operations well. View more...Designing a Secure Architecture for Distributed SystemsAggregated on: 2024-09-12 17:21:11 Securing distributed systems is a complex challenge due to the diversity and scale of components involved. With multiple services interacting across potentially unsecured networks, the risk of unauthorized access and data breaches increases significantly. This article explores a practical approach to securing distributed systems using an open-source project. The project demonstrates how to integrate several security mechanisms and technologies to tackle common security challenges such as authentication, authorization, and secure communication. Understanding Security Challenges in Distributed Systems Distributed systems involve multiple services or microservices that must communicate securely across a network. Key security challenges in such architectures include: View more...How To Build an OpenAI Custom GPT With a Third-Party APIAggregated on: 2024-09-12 16:21:11 With the advent of Large Language Models (LLM), the conversational user interface has become very popular. You simply ask what you're seeking, and ChatGPT produces an output. In addition, the model can perform actions in response to your command or question and present you with the result. This opened up a huge opportunity to build a new kind of interface where the only input is the user's words — written or spoken. This is fantastic, as you can imagine the limitless possibilities. What we need is for LLMs to have access to as many complex, real-world actions as possible, which they can then invoke appropriately. This is where third-party APIs come into the picture. View more...Open-Source Data Management Practices and PatternsAggregated on: 2024-09-12 15:36:11 Open-source data architectures offer organizations and teams significant benefits, ranging from reduced vendor lock-in and improved cost effectiveness to greater scalability, availability, and flexibility. In this Refcard, you'll learn core practices for building an open-source data architecture stack, along with design patterns for infrastructure components, high availability, scalability, security, and more. View more...10 Things To Avoid in Domain-Driven Design (DDD)Aggregated on: 2024-09-12 15:21:11 Domain-Driven Design (DDD) is an important strategic approach to software development. It involves deeply understanding and modeling a business domain, particularly beneficial in complex domains with intricate business rules, processes, and interactions. However, effectively implementing DDD requires discipline, a strong grasp of the domain, and the avoidance of common pitfalls that can lead to suboptimal designs and technical debt. In this article, we'll explore 10 things to avoid in DDD and examples to illustrate these pitfalls. 1. Focusing Too Much on Technical Patterns Sample Scenario A team begins a project by excessively creating repositories, aggregates, and value objects without fully grasping the business domain. For example, they develop a complicated repository for managing Customer entities without understanding how customers are represented and utilized within the business. Consequently, the repository contains numerous unnecessary methods that do not align with the domain's actual use cases and requirements. View more...Modern Authentication on .NET: OpenID Connect, BFF, SPAAggregated on: 2024-09-12 14:21:11 As web technologies continue to advance, so do the methods and protocols designed to secure them. The OAuth 2.0 and OpenID Connect protocols have significantly evolved in response to emerging security threats and the growing complexity of web applications. Traditional authentication methods, once effective, are now becoming outdated for modern Single Page Applications (SPAs), which face new security challenges. In this context, the Backend-For-Frontend (BFF) architectural pattern has emerged as a recommended solution for organizing interactions between SPAs and their backend systems, offering a more secure and manageable approach to authentication and session management. This article explores the BFF pattern in depth, demonstrating its practical application through a minimal solution implemented with .NET and React. By the end, you'll have a clear understanding of how to leverage the BFF pattern to enhance the security and functionality of your web applications. Historical Context The history of OAuth 2.0 and OpenID Connect reflects the ongoing evolution of Internet technologies. Let’s take a closer look at these protocols and their impact on modern web applications. View more...Understanding Floating-Point Precision Issues in JavaAggregated on: 2024-09-12 13:21:11 Java Floating Numbers Look Familiar In Java, we have two types of floating-point numbers: float and double. All Java developers know them but can't answer a simple question described in the following meme: Are you robot enough? View more...Uncovering a Prototype Pollution Regression in the Core Node.js ProjectAggregated on: 2024-09-11 23:21:11 As a Node.js developer and security researcher, I recently stumbled upon an interesting security regression in the Node.js core project related to prototype pollution. This happened to be found while I was conducting an independent security research for my Node.js Secure Coding books and yet the discovery highlights the complex nature of security in open-source projects and the challenges of maintaining consistent security measures across a large codebase. Even at the scale of a project like Node.js, regressions can occur, potentially leaving parts of the codebase vulnerable to attack. View more...Optimizing Data Management for AI Success: Industry Insights and Best PracticesAggregated on: 2024-09-11 22:21:11 As artificial intelligence (AI) continues transforming industries, organizations face increasing challenges in managing and utilizing data for AI initiatives. Recent industry surveys and expert insights highlight the critical role of effective data management in AI success. This article explores key trends, challenges, and best practices in data management for AI projects, providing valuable insights for developers, engineers, and architects based on a recent discussion with Adrian Estala, VP and Field Chief Data Officer at Starburst. The Imperative of Real-Time Data Access in AI Real-time data access has emerged as a crucial factor for AI success. Implementing real-time analytics poses several challenges for organizations: View more...How To Set Up and Configure the Debugger in Visual Studio Code for React.js [Video]Aggregated on: 2024-09-11 21:36:10 In this article, we’re diving into a critical aspect of React development: setting up and configuring the debugger in Visual Studio Code. Debugging is a crucial part of development that allows you to step through your code, inspect variables, and quickly fix issues, without relying heavily on console logs. This makes the debugging process more efficient and enjoyable. Getting Started Before we begin, make sure you have the following tools installed: View more...How Stalactite ORM Implements Its Fluent DSLAggregated on: 2024-09-11 19:36:11 “DX”, aka Developer Experience One of the goals of Stalactite is to make developers aware of the impact of the mapping of their entities onto the database, and, as a consequence, onto performances. To fulfill this goal, the developer's experience, as a user of the Mapping API, is key to helping him express his intention. The idea is to guide the user-developer in the choices he can make while he describes its persistence. As you may already know, Stalactite doesn’t use annotation or XML files for that. It proposes a fluent API that constrains user choices according to the context. To clarify: available methods after a call to mapOneToOne(..) are not the same as the ones after mapOneToMany(..). This capacity can be done in different ways. Stalactite chose to leverage Java proxies for it and combines it with the multiple-inheritance capability of interfaces. View more...How To Implement Specific Distributed System Patterns Using Spring Boot: IntroductionAggregated on: 2024-09-11 18:36:10 Regarding contemporary software architecture, distributed systems have been widely recognized for quite some time as the foundation for applications with high availability, scalability, and reliability goals. When systems shifted from a centralized structure, it became increasingly important to focus on the components and architectures that support a distributed structure. Regarding the choice of frameworks, Spring Boot is a widely adopted framework encompassing many tools, libraries, and components to support these patterns. This article will focus on the specific recommendations for implementing various distributed system patterns regarding Spring Boot, backed by sample code and professional advice. Spring Boot Overview One of the most popular Java EE frameworks for creating apps is Spring. The Spring framework offers a comprehensive programming and configuration mechanism for the Java platform. It seeks to make Java EE programming easier and increase developers' productivity in the workplace. Any type of deployment platform can use it. It tries to meet modern industry demands by making application development rapid and straightforward. While the Spring framework focuses on giving you flexibility, the goal of Spring Boot is to reduce the amount of code and give developers the most straightforward approach possible to create web applications. Spring Boot's default codes and annotation setup lessen the time it takes to design an application. It facilitates the creation of stand-alone applications with minimal, if any, configuration. It is constructed on top of a module of the Spring framework. View more...Optimizing Container Synchronization for Frequent WritesAggregated on: 2024-09-11 17:36:10 Efficient data synchronization is crucial in high-performance computing and multi-threaded applications. This article explores an optimization technique for scenarios where frequent writes to a container occur in a multi-threaded environment. We’ll examine the challenges of traditional synchronization methods and present an advanced approach that significantly improves performance for write-heavy environments. The method in question is beneficial because it is easy to implement and versatile, unlike pre-optimized containers that may be platform-specific, require special data types, or bring additional library dependencies. Traditional Approaches and Their Limitations Imagine a scenario where we have a cache of user transactions: View more...8 Practices Software Engineers Should Adopt and Champion for CybersecurityAggregated on: 2024-09-11 16:21:10 The Importance of Cybersecurity I firmly believe that in today's cybersecurity expectations, software engineers should prioritize the security of their computer systems and internal IT networks. I would consider it to be a mistake to rely heavily on technology due to the simple fact that a lot of risks are non-technical in nature. The Internet can leave businesses vulnerable to data breaches and ransomware attacks that can cause lasting reputational damage. These non-technical risks can indeed be addressed using technical solutions. These incidents can additionally result in significant financial losses and potential legal issues. In my opinion, implementing strong cybersecurity measures is not just a technical requirement but a critical initiative for any business looking to strengthen its defenses and resilience. View more...The Significance of Complex Event Processing (CEP) With RisingWave for Delivering Accurate Business DecisionsAggregated on: 2024-09-11 15:21:10 About Complex Event Processing (CEP) Complex event processing (CEP) is a highly effective and optimized mechanism that combines several sources of information and instantly determines and evaluates the relationships among events in real time. It is a real-time data and event identification, processing, and analysis approach. By gathering and combining across various IoT sensor feeds, CEP has a transformative effect by collecting IoT sensor streams for real-time monitoring, analytics, and troubleshooting. CEP provides insight into what's happening by continuously comparing incoming events to patterns. This enables us to operate proactively and effectively. Although event stream processing (ESP) and CEP are often used interchangeably, they are not exactly the same. Traditional ESP applications typically handle a single stream of data that arrives in the correct time sequence. For instance, in algorithmic trading, an ESP application might analyze a stream of pricing data to decide whether to buy or sell a stock. However, ESP generally doesn't account for event causality or hierarchies. This limitation led to the development of CEP, which is essentially a more advanced and sophisticated version of ESP. View more... |
|