News AggregatorKnowledge Graphs and Analytics Without Graph Databases for Gen-AIAggregated on: 2023-12-31 07:58:00 Graphs are more relevant and useful today than ever. Thanks to the AI revolution happening right now, engineers are thinking about the opportunities around Gen-AI, leveraging open Gen-AI solutions with dynamic prompting, data grounding, and masking which further pushes them to think about effective solutions like knowledge graphs. Engineer, Mary is working on a data grounding problem and is considering building their Knowledge Graph for an AI solution for personalized product recommendations at work, and starts to wonder about View more...Leveraging AI-Driven Cloud Services for Enhanced AML Compliance in BankingAggregated on: 2023-12-31 07:28:00 Humans have always explored ways to make human lives more efficient, faster, and productive and enable us to do more in the limited available time. Throughout human existence, there have been millions or billions of inventions that have come into existence to solve a problem or a specific human need, again with the main objective that is to enhance the quality of Human life and existence. In this relentless pursuit of operational efficiency, continuously evolving fields such as the banking sector continually seek innovative solutions. The advent of artificial intelligence (AI) and cloud computing has revolutionized numerous industries, including banking, particularly in the realm of Anti-Money Laundering (AML) compliance. On a fundamental level, AI enables machines to learn human problems and solve them at a faster pace with more predictability and accuracy which in turn helps the human to make better or rather more qualified decisions. Banking and financial institutions deal with massive volumes of data in the form of transactions, and customer information such as demographics, address, etc. View more...LLM Strategies for Product ManagersAggregated on: 2023-12-30 20:43:00 Embarking on the exciting journey of bringing a product from idea to market requires careful planning and storytelling. Product managers play a crucial role in defining and guiding the success of a product. From the inception of an idea to its market launch, product managers have to navigate through various challenges and make strategic decisions. As a product manager, crafting compelling narratives and strategies is key to success. As the LLM is disrupting the market PMs can use LLMs to build effective strategies at each stage of the product lifecycle to improve their productivity. This article is all about identifying the life cycle from ideation to market and how we can use prompt engineering to query an LLM model and increase productivity as a product manager. View more...What I Learned About the WebAssembly Memory Model & How to Debug Memory LeaksAggregated on: 2023-12-30 19:27:59 So I've been working on a project for a while to create a real-time, high-performance JavaScript Chart Library. This project uses quite an ambitious & novel tech stack including a large legacy codebase in C/C++ which is compiled to WebAssembly using Emscripten, targetting WebGL, and a TypeScript API wrapper allowing you to load the charts in JS without having to worry about the underlying Wasm. First Up, Why Use Wasm at All? WebAssembly is an exciting technology and offers performance benefits over JavaScript in many cases. Also, in this case, a legacy C++ codebase already handled much of the rendering for charts & graphs in OpenGL and needed only a little work to be able to target WebGL. View more...Managing a Single-Writer RDBMS for a High-Scale ServiceAggregated on: 2023-12-30 19:27:59 This article describes my experience operating a high-scale service backed by a single-writer RDBMS. The system's design was good for a quick launch and maybe an initial few years while the traffic was less. However, it resulted in a lot of pain once the scale increased, and the database problems caused many customer outages and heavy operational load for the team. I will recount the details, lessons learned, and advice for avoiding similar mistakes. What Happened? The service had many hosts servicing the typical CRUD (Create, Read, Update, and Delete) APIs backed by MySQL running on three very beefy hosts. One host acted as leader, servicing writes and strongly consistent reads (i.e., reading the most updated value), and two followers continuously syncing updates from the leader working as real-only: View more...Python Context Managers SimplifiedAggregated on: 2023-12-29 20:57:59 Context managers in Python are objects that manage the allocation and release of resources within a specific code block. They are used with the with statement, ensuring the proper cleanup of resources even if the exception occurs. Context managers define the methods _ _enter_ _ () and _ _exit_ _(). The enter method is used to set up the resources before a block of code is executed and the exit method is used to clean up the resources after the code block is executed, regardless of whether the code block completes successfully or raises an exception. Here is a simple example: View more...Create a Complete Computer Vision App in Minutes With Just Two Python FunctionsAggregated on: 2023-12-29 20:27:59 This article starts with an overview of what a typical computer vision application requires. Then, it introduces Pipeless, an open-source framework that offers a serverless development experience for embedded computer vision. Finally, you will find a detailed step-by-step guide on the creation and execution of a simple object detection app with just a couple of Python functions and a model. Inside a Computer Vision Application "The art of identifying visual events via a camera interface and reacting to them" View more...SQL Looks Like English Is a Well-Intentioned ErrorAggregated on: 2023-12-29 20:27:59 We know that SQL is very similar to English, and simple SQL statements can be read directly as English. Except for SQL, other major programming languages do not have this feature, and even if there are English words in the syntax, they are only used as mnemonics for certain concepts or operations, and what is written is a formal program statement rather than an English sentence. But SQL is different. It will write the entire sentence in a form that conforms to English habits, and also add many unnecessary prepositions, such as FROM being the operation subject of the statement but having to be written in the behind, and after GROUP, an extra BY needs to be written. Why is this happening? The easy reason to think of is to hope that non-programmers can also use it. Users can write SQL to query data as long as they can read and write English. This is clearly a good intention, but the result is not satisfactory. The vast majority of business personnel only know how to write very simple queries using SQL, and for such queries, there is now powerful BI software that can provide a more convenient and intuitive visual interface to assist, without the need for handwritten statements. This design intention loses its meaning. On the contrary, the vast majority of users that frequently use SQL for calculations are still programmers, and SQL is still a programming language, like or unlike English, it does not have much difference in understanding for programmers, on the contrary, it can bring considerable difficulties. View more...Project Hygiene, Part 2: Combatting Goodhart’s Law and Other “Project Smells”Aggregated on: 2023-12-29 19:42:59 This is a continuation of the Project Hygiene series about best software project practices that started with this article. Background “It works until it doesn’t” is a phrase that sounds like a truism at first glance but can hold a lot of insight in software development. Take, for instance, the very software that gets produced. There is no shortage of jokes and memes about how the “prettiness” of what the end-user sees when running a software application is a mere façade that hides a nightmare of kludges, “temporary” fixes that have become permanent, and other less-than-ideal practices. These get bundled up into a program that works just as far as the developers have planned out; a use case that falls outside of what the application has been designed for could cause the entire rickety code base to fall apart. When a catastrophe of this kind does occur, a post-mortem is usually conducted to find out just how things went so wrong. Maybe it was some black-swan moment that simply never could’ve been predicted (and would be unlikely to occur again in the future), but it’s just as possible that there was some issue within the project that never got treated until it was too late. View more...Mutation Testing: The Art of Deliberately Introducing Issues in Your CodeAggregated on: 2023-12-29 18:57:59 Mutation testing is an innovative approach in software testing that involves intentionally introducing small changes, or "mutations," to the source code of a program. The purpose? To test the effectiveness of your test cases and ensure that they can catch even the most subtle faults. In this article, we'll explore how mutation testing works using Python as our language of choice. What Is Mutation Testing? Mutation testing starts with a program that is already passing all its test cases. Then, we introduce slight modifications to the source code, creating what is known as "mutants." These mutants are slightly altered versions of the original program. The key idea is to run your existing test cases against these mutants. If a test case fails, it has successfully "killed" the mutant, indicating that the test case is effective. If all test cases pass, the mutant has survived, suggesting a potential gap in the test coverage. View more...Key Aspects of API Evolution: Version Control in Multi-Environments With API7 EnterpriseAggregated on: 2023-12-29 17:27:59 In the rapidly evolving landscape of software systems in today's digital era, API version control has emerged as a critical strategy to ensure the robust evolution of systems. Particularly in multi-environment scenarios, effective management and tracking of API changes become paramount, and the API7 Enterprise, serving as a crucial intermediary layer, plays a pivotal role. Core Principles of API Version Control API version control serves as a vital mechanism to safeguard system evolution, especially during urgent situations. It demands rapid, stable, and controllable rollback capabilities to ensure swift degradation to a previously stable state when issues arise. Conversely, version upgrades require smooth transitions, especially when potential incompatibilities exist between preceding and succeeding versions. By precisely comparing changes between versions, systems can pinpoint incompatibilities, making the upgrade process more controllable and secure. View more...How AI and Data Science in 2024 Will Shape Tomorrow's WorldAggregated on: 2023-12-29 16:42:59 In the ever-evolving landscape of technology, the tandem growth of Artificial Intelligence (AI) and Data Science has emerged as a beacon of hope, promising unparalleled advancements that will significantly impact and enhance various aspects of our lives. As we stand on the cusp of a new era, it is crucial to explore how the integration of AI and Data Science is poised to shape the future and offer solutions to some of humanity's most pressing challenges. Healthcare Revolution One of the most promising domains where future AI and Data Science are set to leave an indelible mark is healthcare. The ability to analyze vast datasets, ranging from patient records to genomic information, enables AI algorithms to predict disease patterns, identify potential outbreaks, and even personalize treatment plans. Imagine a healthcare system that anticipates individual health risks, recommends tailored preventative measures, and assists physicians in making more accurate diagnoses. AI-driven diagnostics and treatment optimization could revolutionize patient care, making healthcare more proactive, precise, and accessible. View more...Why Is Automation Testing Required for an Application? Know About Advantages of Automation TestingAggregated on: 2023-12-29 16:42:59 In today's fast-paced software development landscape, ensuring the quality and reliability of applications is paramount. This is where automation testing services come into play. In this comprehensive guide, we'll explore why automation testing is essential for applications and delve into the advantages of leveraging automation testing services. Why Automation Testing Is a Necessity In the ever-evolving world of software development, manual testing alone is no longer sufficient. Automation testing services have become a necessity due to their ability to streamline the testing process, reduce human error, and accelerate time-to-market. Automation testing service providers employ sophisticated tools and frameworks to create and execute test scripts, resulting in more comprehensive and efficient testing. View more...Offline Data Pipeline Best Practices Part 2:Optimizing Airflow Job Parameters for Apache HiveAggregated on: 2023-12-29 15:27:59 This post series is about mastering offline data pipeline's best practices, focusing on the potent combination of Apache Airflow and data processing engines like Hive and Spark. In Part 1 of our series explored the strategies for enhancing Airflow data pipelines using Apache Hive on AWS EMR. Our primary objective was to attain cost efficiency and establish effective job configurations. In this concluding Part 2, we will extensively explore Apache Spark, another pivotal element in our comprehensive data engineering toolkit. By optimizing the Airflow job parameters specifically for Spark, there is a substantial potential for enhancing performance and realizing substantial cost savings. Why Apache Spark in Airflow? Apache Spark is a really important framework and tool for data processing in companies all about data. It's genuinely outstanding at processing massive amounts of data quickly and efficiently. It's especially great for complex data analytics with fast query performance and advanced analytics capabilities. This makes Spark a preferred choice for enterprises handling vast amounts of data and requiring real-time analytics. View more...Apache Doris Speeds Up Data Reporting, Tagging, and Data Lake AnalyticsAggregated on: 2023-12-29 14:27:59 As much as we say Apache Doris is an all-in-one data platform that is capable of various analytics workloads, it is always compelling to demonstrate that by real use cases. That's why I would like to share this user story with you. It is about how they leverage the capabilities of Apache Doris in reporting, customer tagging, and data lake analytics and achieve high performance. This fintech service provider is a long-term user of Apache Doris. They have almost 10 clusters for production, hundreds of Doris backend nodes, and thousands of CPU Cores. The total data size is near 1 PB. Every day, they have hundreds of workflows running simultaneously, receive almost 10 billion new data records, and respond to millions of data queries. View more...Cross-Pollination for Creativity Leveraging LLMsAggregated on: 2023-12-29 12:57:59 Large Language models (LLMs) are used for creative tasks such as story writing, poetry, and script writing for plays. There are several GPT-based wrapper tools for advertising slogan creation, generating plot lines, and music compositions. Let's explore how to use LLMs to identify research gaps in a field and leverage the ideas of other fields to inspire new ideas. Problem Statement Researchers need inspiration when they are stuck on a problem. It's common for researchers to get fixated on a particular hypothesis or approach. The vast amount of information can be overwhelming. It is a struggle in itself to sift through the information and identify a potential new path. Interdisciplinary collaboration is often challenging with researchers on both sides not familiar with the jargon of the two fields. View more...Cloud Optimization: It’s Not the Same for EveryoneAggregated on: 2023-12-29 12:42:59 Cloud migration is primarily motivated by scalability, flexibility, and cost savings. It allows businesses to create, deliver, and manage software applications while significantly transforming infrastructure, security, and enterprise services. Gartner predicts that companies will invest a remarkable $679 billion in cloud services by 2024. Additionally, the cloud is expected to become an indispensable aspect of business operations by 2028. However, it is important to note that migrating an application to the cloud does not guarantee a successful business outcome or a high return on investment (ROI). While cloud computing offers significant benefits, migration-related costs increase as the desired outcomes become more ambitious. Therefore, companies must carefully consider their ROI objectives on a per-application basis. Not every program needs to be redesigned to be cloud-native, as the requirements may vary. View more...Software Supply Chain SecurityAggregated on: 2023-12-28 20:57:58 Securing software supply chains has become a first-class consideration — along with coding and CI/CD pipelines — when developing a software product. Far too many vulnerabilities have been subliminally introduced into software products and resulted in catastrophic breaches for us as diligent developers to treat supply chain security as an afterthought. The core practices and principles outlined in this Refcard provide a foundation for creating secure supply chains that produce deliverables and products that others can trust. View more...How To Use Artificial Intelligence to Optimize DevOpsAggregated on: 2023-12-28 20:27:58 DevOps and AI make an inseparable pair and impact businesses of all kinds. While DevOps enables speedy product development and easier maintenance of existing deployments, AI transforms the overall system functionality. The DevOps team can rely on artificial intelligence and machine learning for data integration, testing, evaluating, and releasing the system. What’s more, artificial intelligence and machine learning can improve the process driven by DevOps in an efficient, quick, and secure manner. Evaluating the importance of AI and ML in DevOps is beneficial for businesses from the standpoint of developers’ utility and business support. As per the Gartner report, nearly two-fifths of the DevOps community will leverage modern infrastructure and application monitoring solutions consolidated with artificial intelligence by 2023. View more...SQL Loader - Unix Script - Loading Multiple Data Files in Oracle DB TableAggregated on: 2023-12-28 19:57:58 Here I am going to show the power of SQL Loader + Unix Script utility where multiple data files can be loaded by the SQL loader with automated shell scripts. This would be useful while dealing with large chunks of data and when data needs to be moved from one system to another system. It would be suitable for a migration project where large historical data is involved. Then it is not possible to run the SQL loader for each file and wait till it's loaded. So the best option is to keep the Unix program containing the SQL loader command running all the time. Once any file is available in the folder location then it will pick up the files from that folder location and start processing immediately. View more...Migrating From Lombok to Records in JavaAggregated on: 2023-12-28 19:42:58 Java, as a programming language, has evolved over the years, introducing new features and improvements to enhance developer productivity and code readability. With the release of Java 14, one notable feature is the introduction of records as a language feature, offering a concise way to define immutable data-carrying classes. If you have been using Lombok to reduce boilerplate code in your Java classes, it's worth considering migrating to records for a more native and standardized approach. View more...Unveiling the Power of Helidon 4: A Dive Into New FeaturesAggregated on: 2023-12-28 19:27:58 In the ever-evolving landscape of microservices development, Helidon has emerged as a beacon of innovation. The release of Helidon 4 brings forth a wave of enhancements and features that promise to redefine the way developers approach microservices architecture. In this article, we embark on a detailed journey, unraveling the intricacies of Helidon 4's new features through insightful examples. From MicroProfile 6.0 compatibility to enhanced support for reactive programming, simplified configuration management, and seamless integration with Oracle Cloud Infrastructure (OCI), Helidon 4 positions itself at the forefront of modern microservices frameworks. The Shift From Netty: Why Simplicity Matters Netty, known for its efficiency and scalability, played a crucial role in powering Helidon's HTTP server in earlier versions. However, as Helidon evolved, the framework's maintainers recognized the need for a simpler and more approachable architecture. This led to the decision to move away from Netty, making room for a more straightforward and user-friendly experience in Helidon 4. View more...Quantum Coherence Unleashed: Illuminating AI Decision-Making NetworksAggregated on: 2023-12-28 17:42:58 In the ever-evolving realm of artificial intelligence, a groundbreaking frontier is emerging at the intersection of quantum mechanics and decision-making networks. This uncharted territory promises to revolutionize the very essence of AI systems, ushering in an era of unprecedented efficiency and coherence. Welcome to the world of "Quantum Coherence in AI Decision-Making Networks." Quantum Coherence: A Prelude To comprehend the profound implications of this fusion, let's delve into the enigmatic realm of quantum coherence. In the quantum universe, coherence refers to the synchronized behavior of particles akin to a harmonious dance orchestrated by the laws of quantum mechanics. Harnessing this coherence in the context of AI decision-making networks introduces a paradigm shift, challenging traditional notions of computation. View more...Transforming Telecom With AI/ML: A Deep Dive Into Smart NetworksAggregated on: 2023-12-28 16:57:58 The telecommunications industry has become an indispensable part of our interconnected society, fueling various functions ranging from traditional calls to lightning-fast Internet and the ever-expanding Internet of Things (IoT). With the constant evolution of this sector, the dynamic duo of AI and ML is revolutionizing the telecommunications industry, propelling it towards greater network efficiency, unparalleled customer service, and fortified security measures. These cutting-edge technologies equip telecom companies with powerful tools to analyze colossal amounts of data, mitigate network disruptions, create personalized experiences for customers, and fortify their defenses against fraudulent activities. AI/ML for Network Optimization The telecom industry faces the challenge of managing increasingly complex networks while ensuring optimal performance. AI and ML algorithms are being employed to predict network congestion, reduce downtime, and allocate resources efficiently. Here's an example of how machine learning can optimize network performance: View more...Optimizing Java Applications: Parallel Processing and Result Aggregation TechniquesAggregated on: 2023-12-28 15:42:58 Parallel processing and result aggregation are powerful techniques in Java programming that can significantly improve the performance and scalability of the system. In this article, we will explore how to implement parallel processing and effectively aggregate results in Java. Understanding Parallel Processing Parallel processing involves dividing a task into smaller subtasks and executing them simultaneously on multiple processors or threads. Java provides robust support for parallel processing through its multi-threading capabilities. By leveraging parallel processing, developers can harness the computing power of modern hardware and execute tasks more efficiently. View more...Beyond Murphy' LawAggregated on: 2023-12-28 15:27:58 Murphy's Law ("Anything that can go wrong will go wrong and at the worst possible time.") is a well-known adage, especially in engineering circles. However, its implications are often misunderstood, especially by the general public. It's not just about the universe conspiring against our systems; it's about recognizing and preparing for potential failures. Many view Murphy's Law as a blend of magic and reality. As Site Reliability Engineers (SREs), we often ponder its true nature. Is it merely a psychological bias where we emphasize failures and overlook our unnoticed successes? Psychology has identified several related biases, including Confirmation and Selection biases. The human brain tends to focus more on improbable failures than successes. Moreover, our grasp of probabilities is often flawed – the Law of Truly Large Numbers suggests that coincidences are, ironically, quite common. View more...Top 10 Python Applications Transforming the Real WorldAggregated on: 2023-12-28 14:57:58 In our ever-evolving digital landscape, programming languages play a pivotal role in shaping the technological advancements we witness across various industries. Python is a versatile and powerful language that has emerged as a frontrunner in the coding world. With its extensive libraries and frameworks, Python has become the language of choice for over 80% of developers, spanning diverse fields. In this article, we'll delve into the top 10 real-world applications of Python, exploring how it has transformed various domains. View more...Unlocking Language Models With Powerful PromptsAggregated on: 2023-12-28 11:57:58 Large Language Models (LLMs) offer unparalleled capabilities, but unlocking their full potential hinges on crafting effective prompts. The Large Language Models trained on vast troves of data possess an uncanny ability to generate human-quality text, translate languages, write different kinds of creative content, and answer your questions in an informative way. But their raw power remains untapped unless wielded with the right tool: the prompt. The prompt is the guiding hand that shapes the LLM's response. It's the key that unlocks the model's potential and directs its vast knowledge towards your specific needs. Prompt engineering, then, is the art and science of crafting these prompts, inspiring them with the nuance needed to coax the LLM into performing at its best. View more...Top 9 Role-Based Cloud Certifications for Solution Architects in 2024Aggregated on: 2023-12-27 19:57:58 Are you excited to become a Cloud Solutions Architect and take your career to new heights? Cloud computing is transforming the way organizations use digital infrastructure, making it a crucial skill to master. If you are interested in the limitless potential of cloud technology, then this guide is tailor-made for you. In this guide, you’ll learn about the top 9 role-based cloud certifications, specifically curated for Solutions Architects. As we approach 2024, we are on the cusp of an exciting era in cloud technology. Together, we will explore nine paramount certifications offered by industry leaders and esteemed organizations, each of which is a stepping stone on your journey to becoming a certified cloud professional. View more...Navigating Software Development With KanbanAggregated on: 2023-12-27 19:27:58 Kanban, a well-known agile framework, has significantly influenced project management and software development. With its roots in Japanese manufacturing practices, Kanban has evolved to meet the changing needs of modern software development. This article explores Kanban's principles, history, benefits, and potential drawbacks and compares it with other agile methodologies. It also discusses tools for implementing Kanban. Kanban, which means "visual signal" or "card" in Japanese, is a workflow management method designed to optimize workflow. It was developed in the late 1940s by Toyota engineer Taiichi Ohno as a scheduling system for lean manufacturing. The application of Kanban to software development began in the early 2000s, providing a more flexible approach to managing software projects. View more...Essential Skills for Modern Machine Learning Engineers: A Deep DiveAggregated on: 2023-12-27 19:27:58 Machine Learning specialists are at the forefront of the digital transformation of the global economy today; they face a rapidly evolving technology environment that requires a wide range of professional skills. The role of an ML Engineer tasked with transforming theoretical data science models into scalable, efficient, and robust applications can be especially demanding. A professionally savvy ML Engineer has to combine proficiency in programming and algorithm design with a deep understanding of data structures, computational complexity, and model optimization. However, there is a pressing issue in the field: many ML Engineers have critical gaps in their core competencies. Despite mastering essentials like a working knowledge in Classical ML, Deep Learning and proficiency in ML frameworks, they often overlook other vital, even indispensable, areas of expertise. Nuanced programming skills, a solid understanding of mathematics and statistics, and the ability to align machine learning objectives with business goals are some of such areas. View more...How To Select the Right Vector Database for Your Enterprise GENERATIVE-AI StackAggregated on: 2023-12-27 16:42:58 Due to the surge in large language model adoption in the Enterprises, GENERATIVE AI has opened a new pathway to unlock the various business potentials and use cases. One of the main architectural building block for GENERATIVE AI is the semantic search powered by the Vector database. Semantic search, as the name suggests is, essentially involves a "nearest neighbor" (A-NN or k-NN) search within a collection of vectors accompanied by metadata. This system having an index to find the nearest vector data in the vector storage is called Vector Database where query results are based on the relevancy of the query and not the exact match. This technique is widely used in the popular RAG (Retrieval Augmented Generation) pattern where the a similarity search is performed in the Vector database based on the user's input query, and the similar results or relevant information is augmented to the input of an Large Language Model so that the LLM doesn't hallucinate for a query outside of its knowledge boundary to generate an unique response for the user. This popular GENERATIVE AI based pattern called, RAG can't be implemented without the support of Vector database as one of the main core component in the architecture. Because of more and more increase in GENERATIVE-AI use cases, as an engineer working on transitioning an LLM-based prototype to production, it is extremely crucial to identify the right vector database during early stage of development. During the proof-of-concept phase, the choice of database may not be a critical concern for the engineering team. However, the entire perspective changes a lot as the team progresses toward the production phases. The volume of Embedding/vectors data can expand significantly as well as the requirement to integrate the security and compliance within the app. This requires a thoughtful considerations such as access control and data preservation in case of server failures. In this article we will explain a framework and evaluation parameters which should be considered while making the right selection of the Enterprise grade Vector database for the GENERATIVE-AI based use case considering both the Developer Experience as well as the technological experience combining into the Enterprise experience. We also need to keep in mind that numerous vector db products are available in the markets with closed or open source offering and, each catering to a specific use case, and no single solution fits all use cases. Therefore, it's essential to focus on the key aspects when deciding the most suitable option for your GENERATIVE AI based application. View more...Offline Data Pipeline Best Practices Part 1:Optimizing Airflow Job Parameters for Apache HiveAggregated on: 2023-12-27 15:27:58 Welcome to the first post in our exciting series on mastering offline data pipeline's best practices, focusing on the potent combination of Apache Airflow and data processing engines like Hive and Spark. This post focuses on elevating our data engineering game, streamlining your data workflows, and significantly cutting computing costs. The need to optimize offline data pipeline optimization has become a necessity with the growing complexity and scale of modern data pipelines. In this kickoff post, we delve into the intricacies of Apache Airflow and AWS EMR, a managed cluster platform for big data processing. Working together, they form the backbone of many modern data engineering solutions. However, they can become a source of increased costs and inefficiencies without the right optimization strategies. Let's dive into the journey to transform your data workflows and embrace cost-efficiency in your data engineering environment. View more...The New Frontier in Cybersecurity: Embracing Security as CodeAggregated on: 2023-12-27 15:27:58 How We Used to Handle Security A few years ago, I was working on a completely new project for a Fortune 500 corporation, trying to bring a brand new cloud-based web service to life simultaneously in 4 different countries in the EMEA region, which would later serve millions of users. It took me and my team two months to handle everything: cloud infrastructure as code, state-of-the-art CI/CD workflows, containerized microservices in multiple environments, frontend distributed to CDN, and tests passing in the staging environment. We were so prepared that we could go live immediately with just one extra click of a button. And we still had a whole month before the planned release date. View more...Embracing GraphQL: A Paradigm Shift in API DevelopmentAggregated on: 2023-12-27 13:42:58 Have you heard of GraphQL? This API query language, initially developed by Facebook (now Meta), has evolved into a thriving ecosystem. Explore this article to understand why embracing this new API paradigm is essential. Complex Software Engineering Poses New Challenges API Schema When managing traditional REST APIs, tools like OpenAPI or Postman are typically employed to handle API schemas. This approach, independent of the API itself, relies entirely on the developer's knowledge and expertise in deciding whether to provide these descriptive files and how to do so correctly. View more...PostgresML: Extension That Turns PostgreSQL Into a Platform for AI AppsAggregated on: 2023-12-27 13:27:58 PostgresML is an extension of the PostgreSQL ecosystem that allows the training, fine-tuning, and use of various machine learning and large language models within the database. This extension turns PostgreSQL into a complete MLOps platform, supporting various natural language processing tasks and expanding Postgres's capabilities as a vector database. The extension complements pgvector, another foundational extension for apps wishing to use Postgres as a vector database for AI use cases. With pgvector, applications can easily store and work with embeddings generated by large language models (LLMs). PostgresML takes it further by enabling the training and execution of models within the database. View more...Microservices Resilient Testing FrameworkAggregated on: 2023-12-27 12:57:58 Resilience refers to the ability to withstand, recover from, or adapt to challenges, changes, or disruptions. As organizations increasingly embrace the microservices approach, the need for a resilient testing framework becomes important for the reliability, scalability, and security of these distributed systems. MRTF is a collaborative, anticipatory, and holistic approach that brings together developers, quality assurance professionals, operations teams, and user experience designers. In this article, I delve into the key principles that underpin MRTF, exploring how it integrates into a cohesive framework designed to navigate the intricacies of microservices testing. What Is MRTF? The Microservices Resilient Testing Framework (MRTF) goes beyond the surface, examining the intricate interactions between microservices, considering the entire ecosystem, and anticipating future challenges in microservices development. From preemptive problem-solving to the continuous iteration of testing practices, MRTF encapsulates a comprehensive approach that ensures microservices architectures are rigorously tested for reliability, scalability, and overall user satisfaction. In embracing a holistic and collaborative approach, let’s start by explaining the cornerstones of MRTF. View more...AWS CDK Deep Dive: Advanced Infrastructure as Code Techniques With Typescript and PythonAggregated on: 2023-12-26 13:57:57 Infrastructure as Code (IaC) has become a key aspect of modern cloud computing. It ensures quick, consistent, and repeatable infrastructure deployment. In this context, AWS Cloud Development Kit (CDK) stands out by enabling developers to define cloud infrastructure using familiar programming languages. This post will deeply dive into advanced techniques for using the AWS CDK with TypeScript and Python, two of the most popular programming languages. Understanding AWS CDK What Is AWS CDK? The AWS Cloud Development Kit (CDK) is an open-source software development framework to model and provision your cloud application resources using familiar programming languages. Provisions of cloud applications can be done through AWS CDK in languages familiar to the developer, like TypeScript and Python, extending the flexibility and functionality that may not be present in a simple JSON/YAML-based CloudFormation. View more...Contact Center Feature Flags Using AWS AppconfigAggregated on: 2023-12-25 21:42:57 This article explains the utilization of AWS AppConfig for managing Amazon Connect cloud contact center IVR experiences/features, consideration, benefits & technical implementation. This technical article intends to provide a solution recommendation to release a new contact center feature in production safely in a controlled manner. Releasing New Feature To release a new IVR feature in production, the feature management solution must support the following requirements. View more...Improving API Error Responses With the Result PatternAggregated on: 2023-12-25 08:42:56 In the expanding world of APIs, meaningful error responses can be just as important as well-structured success responses. In this post, I’ll take you through some of the different options for creating responses that I’ve encountered during my time working at Raygun. We’ll go over the pros and cons of some common options, and end with what I consider to be one of the best choices when it comes to API design, the Result Pattern. This pattern can lead to an API that will cleanly handle error states and easily allow for consistent future endpoint development. It has been particularly useful to me while developing the recently released Raygun API Project, where it has allowed for faster development of endpoints by simplifying the code needed to handle error states. What Defines a “Useful” Error Response? A useful error response provides all the information a developer needs to correct the error state. This can be achieved through a helpful error message and consistent use of HTTP status codes. View more...PostgreSQL as a Vector Database: Getting Started and ScalingAggregated on: 2023-12-25 07:57:56 PostgreSQL has a rich ecosystem of extensions and solutions that let us use the database for general-purpose AI applications. This guide walks you through the steps required to build generative AI applications using PostgreSQL as a vector database. We'll begin with the pgvector extension, which enables Postgres with the capabilities specific to vector databases. Then, we'll review methods to enhance the performance and scalability of AI apps running on PostgreSQL. In the end, we'll have a fully functional generative AI application recommending Airbnb listings to those traveling to San Francisco. View more...Five Apache Projects You Probably Didn’t Know AboutAggregated on: 2023-12-25 06:42:56 In early 2021, I started to work on the Apache APISIX project. I have to admit that I had never heard about it before. In this post, I'd like to introduce some Apache projects that are less well-known than HTTPD or Kafka. Apache APISIX View more...Optimization of I/O Workloads by Profiling in PythonAggregated on: 2023-12-24 09:27:56 Optimizing I/O workloads in Python typically involves understanding where the bottlenecks are and then applying strategies to reduce or manage these bottlenecks. Profiling is a crucial step in this process as it helps identify the parts of the code that are most resource-intensive. Here's a step-by-step guide to optimizing I/O workloads by profiling in Python: Identify the I/O Workloads Comprehending the type of your I/O workloads is essential as a first step. Do they involve disk I/O, such as file read/write operations, network I/O, which includes data transmission over a network, or database I/O, comprising database interactions? Distinct optimization techniques apply to each category. I have taken up the I/O bottlenecks related to Network and file read/write operations for this article. View more...Navigating the Technological Landscape of FinTechAggregated on: 2023-12-24 08:57:56 With 2024 in full swing, the landscape for developers and engineers is evolving at an unprecedented pace. Especially for those in FinTech, where cybersecurity is top of mind and while many companies rush to adopt AI to cut costs. What does all of this mean for the backbone of these organizations - their technical talent? In this article, I explore the pivotal trends that will define the year ahead, offering a compass for technologists to not just navigate but lead in the evolution. View more...Composing Custom Annotations in SpringAggregated on: 2023-12-24 08:42:56 Spring, a widely embraced Java framework, empowers developers with a versatile toolkit to build robust and scalable applications. Among its many features, custom annotations are a powerful mechanism for enhancing code readability, reducing boilerplate, and encapsulating complex configurations. This article will explore the art of composing custom annotations in Spring, unraveling their potential through practical examples. The Essence of Custom Annotations Annotations in Java serve as a form of metadata, offering a way to add supplementary information to code elements. While Spring provides an array of built-in annotations, creating custom annotations allows developers to tailor their applications precisely to their needs. View more...Best Practices: Maximizing AI Revenue Growth With Customer SuccessAggregated on: 2023-12-23 18:42:55 In the world of artificial intelligence, maximizing revenue growth is of great importance for businesses seeking to capitalize on their AI products. Like all SaaS tools, the defining linchpin in widespread product adoption is the end user experience. There is an intricate relationship between customer success and how to make money from AI products, as the successful integration of AI products into a given market relies heavily on not only the technological capabilities of the solution but also on how effectively businesses cater to their customers. The intersection of customer success with how to make money from AI offerings is a strategic balance where technology meets user satisfaction and drives business growth. As businesses introduce AI products to the market, an emphasis on customer success becomes a differentiator. Customer success practices — including personalized onboarding, continuous support, and proactive engagement — are not just ancillary components of CS success. They’re integral elements that ensure users derive optimal value from AI solutions, encouraging customer satisfaction and lowering churn. View more...REST Clients With OpenFeign: How to Implement ThemAggregated on: 2023-12-23 18:42:55 In previous posts, we have seen how to implement distributed configuration and service discovery in Spring Cloud. In this article, we will discuss how to implement REST calls between microservices. We will implement REST clients with OpenFeign software. Services Communication There are two main styles of service communication: synchronous and asynchronous. The asynchronous type involves calls where the thread making the call does not wait for a response from the server and is not blocked. A typical protocol used for such scenarios is AMQP. This protocol involves messaging architectures, with message brokers like RabbitMQ and Apache Kafka. View more...Extending Q-Learning With Dyna-Q for Enhanced Decision-MakingAggregated on: 2023-12-22 20:57:55 Introduction To Q-Learning Q-Learning is a crucial model-free algorithm in reinforcement learning, focusing on learning the value, or 'Q-value', of actions in specific states. This method excels in environments with unpredictability, as it doesn't need a predefined model of its surroundings. It adapts to stochastic transitions and varied rewards effectively, making it versatile for scenarios where outcomes are uncertain. This flexibility allows Q-Learning to be a powerful tool in scenarios requiring adaptive decision-making without prior knowledge of the environment's dynamics. Learning Process: Q-learning works by updating a table of Q-values for each action in each state. It uses the Bellman equation to iteratively update these values based on the observed rewards and its estimation of future rewards. The policy – the strategy of choosing actions – is derived from these Q-values. View more...Secure Password Hashing in Java: Best Practices and Code ExamplesAggregated on: 2023-12-22 20:42:55 In the domain of digital security, password hashing stands as a critical line of defense against unauthorized access. However, the landscape of hashing algorithms has evolved significantly, with some methods becoming obsolete and newer, more secure techniques emerging. This article delves into why traditional methods like SHA-512 are no longer sufficient, the importance of salting and slowing down hashing processes, and provides practical Java code examples for modern password hashing techniques. The Inadequacy of SHA-512 for Password Hashing SHA-512, part of the SHA-2 family, is a cryptographic hash function that was once a standard for securing passwords. However, it's now considered inadequate for password hashing due to: View more...Cloud Computing Trends For 2024Aggregated on: 2023-12-22 20:12:55 As we approach 2024, the cloud computing landscape is on the cusp of significant changes. In this article, I explore my predictions for the future of cloud computing, highlighting the integration of Generative AI Fabric, its application in enterprises, the advent of quantum computing with specialized chips, the merging of Generative AI with edge computing, and the emergence of sustainable, self-optimizing cloud environments. Generative AI Fabric: The Future of Generative AI Cloud Architecture The Generative AI Fabric is set to become a crucial architectural element in cloud computing, functioning as a middleware layer. This fabric will facilitate the operation of Large Language Models (LLMs) and other AI tools, serving as a bridge between the technological capabilities of AI and the strategic business needs of enterprises. The integration of Generative AI Fabric into cloud platforms will signify a shift towards more adaptable, efficient, and intelligent cloud environments, capable of handling sophisticated AI operations with ease. View more... |
|