News Aggregator


Limitations of LLM Reasoning

Aggregated on: 2025-02-04 12:20:23

Large language models (LLMs) have disrupted AI with their ability to generate coherent text, translate languages, and even carry on conversations. However, despite their impressive capabilities, LLMs still face significant challenges when it comes to reasoning and understanding complex contexts.  These models, while adept at identifying and replicating patterns in vast amounts of training text, often struggle with tasks that require true comprehension and logical reasoning. This can result in problems such as inconsistencies in long conversations, errors in connecting disparate pieces of information, and difficulties in maintaining context over extended narratives. Understanding these reasoning problems is crucial for improving the future development and application of LLMs.

View more...

Building a Full-Stack Resume Screening Application With AI

Aggregated on: 2025-02-03 22:20:22

The release of the DeepSeek open-source AI model has created a lot of excitement in the technology community. It allows developers to build applications entirely locally without needing to connect to online AI models such as Claude, ChatGPT, and more. Open-source models have opened doors to new opportunities when building enterprise applications that integrate with generative AI.  In this article, you will learn how to run such a model locally on your personal machine and build a full-stack React and NodeJS-powered application that is not just another chatbot. You will be able to use this application to analyze resumes faster and make smarter hiring decisions. Before you build the application, it is important to understand the benefits of open-source LLMs.

View more...

Exploring the Purpose of Pytest Fixtures: A Practical Guide

Aggregated on: 2025-02-03 21:20:22

To set the groundwork for this article, let's first understand what Pytest is. Pytest is a popular testing framework for Python that simplifies the process of writing scalable and maintainable test cases. It supports fixtures, parameterized testing, and detailed test reporting, making it a powerful choice for both unit and functional testing. Pytest's simplicity and flexibility have made it a go-to framework for developers and testers alike.

View more...

Java Stream API: 3 Things Every Developer Should Know About

Aggregated on: 2025-02-03 20:35:22

Time flies! I remember the time when Java 8 was such a reference, and everybody was talking about it like something new and revolutionary. Frankly speaking, it was new and revolutionary. But now, projects using Java 8 might be labeled "legacy." If Java 8 itself became a legacy, the features introduced in that version would still be actual. And let’s talk today about one of them — Stream API.  In case you don’t know, Java Stream API is a powerful tool that allows programmers to write Java code in a functional programming style. Introduced long ago, it makes working with collections easier by enabling filtering, transformation, and aggregation. 

View more...

Best Practices for API Rate Limits and Quotas

Aggregated on: 2025-02-03 19:20:22

Like any online service, your API users expect high availability and good performance. This also means one customer should not be able to starve another customer's access to your API. Adding rate limiting is a defensive measure that can protect your API from being overwhelmed with requests and improve general availability.  Similarly, adding quota management also ensures customers stay within their contract terms and obligations, ensuring you're able to monetize your API. This is even more important for Data and GenAI APIs, where the cost of an API can be high and part of your COGS (Cost of Goods Sold). Without quota management, a customer could easily use far more resources than their plan allows, even if they stay within your overall server rate limits. 

View more...

Managing Distributed System Locks With Azure Storage

Aggregated on: 2025-02-03 18:20:22

Distributed systems have been there for a while now and there are well-known patterns already established when designing them. Today, we will discuss one of the popular patterns: "locks." Simply put, locks are how processes gain exclusive access to a resource to perform a certain action. For example, imagine there are a bunch of Blobs in a storage account, and you need one instance of your service to process each blob to avoid duplicate processing. The way to do it would be to acquire a lock on the blob, complete processing, and release it.  However, a potential issue arises if a process fails before releasing the lock, either because the process died or due to a network partition, leaving the resource locked indefinitely. This can lead to deadlocks and resource contention. 

View more...

MuleSoft OAuth 2.0 Provider: Password Grant Type

Aggregated on: 2025-02-03 17:05:22

OAuth 2.0 is a widely used authorization framework that allows third-party applications to access user resources on a resource server without sharing the user's credentials.  The Password Grant type, also known as Resource Owner Password Credentials Grant, is a specific authorization grant defined in the OAuth 2.0 specification. It's particularly useful in scenarios where the client application is highly trusted and has a direct relationship with the user (e.g., a native mobile app or a first-party web application). This grant type allows the client to request an access token by directly providing the user's username and password to the authorization server. While convenient, it's crucial to implement this grant type securely, as it involves handling sensitive user credentials. 

View more...

All You Need to Know About Apache Spark

Aggregated on: 2025-02-03 16:20:22

Apache Spark is a general-purpose and lightning-quick cluster computing framework and an open-source technology based on a wide range of data processing platforms. Moreover, it reveals development APIs that succeed data workers in achieving streaming, machine learning (ML), and SQL workloads. It also requires repeated accessibility to the data sets.  Spark can perform stream processing and batch processing. For context, stream processing deals with data streaming, whereas batch processing means processing the previously gathered task in a single batch. 

View more...

90% Cost Reduction With Prefix Caching for LLMs

Aggregated on: 2025-02-03 15:20:22

Do you know there’s a technique by which you could slash your LLM inference cost by up to 90%? Prefix caching is the idea that could save your application those much needed dollars. A game changing optimization technique that is not just for giants like Anthropic but also available to anyone using open- source LLMs. Let's pull back the curtain on this technique!

View more...

Building Neural Networks With Automatic Differentiation

Aggregated on: 2025-02-03 14:20:22

One of the biggest reasons for the fast pace of research and progress in modern AI is due to the availability of Python libraries such as PyTorch, TensorFlow, and JAX. Python itself is considered one of the easiest programming languages to pick up, and these ML/DeepLearning libraries make prototyping and testing sophisticated ML models much more accessible to engineers, researchers, and even enthusiasts. One key idea that has driven tremendous success in training large ML and neural network models is automatic differentiation (AD). It is the mechanism that enables backpropagation in neural networks. The main idea behind AD is to recursively calculate the partial derivatives (using the chain rule) for a neural network, which is represented as a directed acyclic graph (DAG). It’s a simple technique but very powerful. 

View more...

Building RAG Apps With Apache Cassandra, Python, and Ollama

Aggregated on: 2025-02-03 13:20:22

Retrieval-augmented generation (RAG) is the most popular approach for obtaining real-time data or updated data from a data source based on text input by users. Thus empowering all our search applications with state-of-the-art neural search.  In RAG search systems, each user request is converted into a vector representation by embedding model, and this vector comparison is performed using various algorithms such as cosine similarity, longest common sub-sequence, etc., with existing vector representations stored in our vector-supporting database.

View more...

Pydantic: Simplifying Data Validation in Python

Aggregated on: 2025-02-03 12:05:22

While exploring AI agents, I came across two interesting libraries - Pydantic and Logfire. In this article, you will learn about Pydantic with code examples and understand what Pydantic brings to the table in the world of Data validation for Python developers. Pydantic is a powerful Python library that uses type annotations to validate data structures. It's become an essential tool for many Python developers, especially those working on web applications, APIs, and data-intensive projects.

View more...

The Quest for HA and DR in Loki

Aggregated on: 2025-01-31 22:35:21

According to the 2016 Ponemon Institute research, the average downtime cost is nearly $9,000 per minute. These downtimes not only cost money, but also hurt the competitive edge and brand reputation. The organization can prepare for downtime by identifying the root causes. For that, they need information on how the software and infrastructure is running. Many software programs help aggregate this information, and one of the popular and most used tools is Loki. However, keeping Loki active under pressure is another problem. Recently, our team ran the single monolith instance of Loki as a private logging solution for our application microservices rather than for observing Kubernetes clusters. The logs were stored in the EBS filesystem. We wanted our system to be more robust and resilient, so we implemented High Availability (HA) and Disaster Recovery (DR) for our microservice application.

View more...

Building Custom Tools With Model Context Protocol

Aggregated on: 2025-01-31 21:20:21

Model Context Protocol (MCP) is becoming increasingly important in the AI development landscape, enabling seamless integration between AI models and external tools. In this guide, we'll explore how to create an MCP server that enhances AI capabilities through custom tool implementations. What Is Model Context Protocol? MCP is a protocol that allows AI models to interact with external tools and services in a standardized way. It enables AI assistants like Claude to execute custom functions, process data, and interact with external services while maintaining a consistent interface.

View more...

Web Scraping With LLMs, ScrapeGraphAI, and LangChain

Aggregated on: 2025-01-31 19:50:21

Now that we can scrape websites using Python and its libraries like BeautifulSoup, Requests, and Pandas, let’s take a step ahead and learn how we could simplify it further using LLM. Before we talk about the scraping part, let us understand the terminologies and what an LLM is. You are in the right place to learn about all these words if you are unfamiliar with LangChain, AI, or NLP. What Is LLM? LLM stands for large language model. It is a machine learning model trained on a large amount of data, referred to as a corpus, which consists of vast textual data. Large in the sense that there is a lot of data — terabytes — contained in the data. For example, an LLM may have seen terabytes of data, while a file on your computer system may be sized in gigabytes (GB). LLMs are able to respond to inquiries based on such textual data because of their thorough training. By utilizing them wisely, large language models may be applied to a variety of tasks, including summaries, Q&As, and translations. Just as Python provides libraries and frameworks, LLMs also have these resources.

View more...

Creating a Service for Sensitive Data With Spring and Redis

Aggregated on: 2025-01-31 18:28:56

Many companies work with user-sensitive data that can’t be stored permanently due to legal restrictions. Usually, this can happen in fintech companies. The data must not be stored for longer than a predefined time period and should preferably be deleted after it has been used for service purposes. There are multiple possible options to solve this problem. In this post, I would like to present a simplified example of an application that handles sensitive data leveraging Spring and Redis. Redis is a high-performance NoSQL database. Usually, it is used as an in-memory caching solution because of its speed. However, in this example, we will be using it as the primary datastore. It perfectly fits our problem’s needs and has a good integration with Spring Data.

View more...

Magic of Aspects: How AOP Works in Spring

Aggregated on: 2025-01-31 16:46:10

It is from modern applications that one expects a clean and maintainable codebase in order to be able to manage the growing complexity. This is where Aspect Oriented Programming (AOP) comes in. AOP is a paradigm that enables the developers to separate the cross-cutting concerns (such as logging, metrics, and security) from the business logic of the application, making the code both modular and easy to maintain. Why Is It Important to Know AOP? I’ll begin with a simple analogy: There are some things that you should do when building a house: you should think about the design of the house, about the rooms and the decor of the rooms. 

View more...

Getting Started With Agentic AI

Aggregated on: 2025-01-31 15:31:10

Advancements in AI and automation have paved the way toward agentic automation. Integrating advanced AI techniques, agentic automation enables autonomous agents to handle complex, unstructured tasks with minimal human intervention. In this Refcard, you will learn about the key components of AI agents, design principles for building intelligent agents, and practical applications of agentic automation — all demonstrated via a real-world use case.

View more...

Page Transactions: A New Approach to Test Automation

Aggregated on: 2025-01-31 15:31:10

Guará is the Python implementation of the design pattern Page Transactions. It is more of a programming pattern than a tool. As a pattern, it can be bound to any driver other than Selenium, including the ones used for Linux, Windows, and Mobile automation. The intent of this pattern is to simplify test automation. It was inspired by Page Objects, App Actions, and Screenplay. Page Transactions focus on the operations (transactions) a user can perform on an application, such as Login, Logout, or Submit Forms.

View more...

CAP and PACELC Theorems in Plain English

Aggregated on: 2025-01-31 14:01:10

Modern distributed systems are all about tradeoffs. Performance, reliability, scalability, and consistency don't come for free — you always pay a price somewhere. That's where the CAP theorem comes in: it's the starting point for understanding the unavoidable compromises in distributed design.  Why is the CAP theorem true? What does it actually explain? And, most importantly, is it enough? In this post, we'll explore the CAP theorem, its limitations, the critiques it has faced, and how newer ideas like PACELC are pushing the conversation forward. Let's dive in.

View more...

Front-End Debugging Part 3: Networking

Aggregated on: 2025-01-31 12:31:10

Debugging network communication issues is a critical skill for any front-end developer. While tools like Wireshark provide low-level insight into network traffic, modern browsers like Chrome and Firefox offer developer tools with powerful features tailored for web development.  In this post, we will discuss using browser-based tools to debug network communication issues effectively. This is a far better approach than using Wireshark for the vast majority of simple cases.

View more...

Understanding the Two Schools of Unit Testing

Aggregated on: 2025-01-30 22:16:09

Unit testing is an essential part of software development. Unit tests help to check the correctness of newly written logic as well as prevent a system from regression by testing old logic every time (preferably with every build). However, there are two different approaches (or schools) to writing unit tests: Classical (a.k.a Detroit) and Mockists (or London) schools of unit testing. In this article, we’ll explore these two schools, compare their methodologies, and analyze their pros and cons. By the end, you should have a clearer understanding of which approach might work best for your needs.

View more...

How to Build a Data Dashboard Prototype With Generative AI

Aggregated on: 2025-01-30 20:16:09

This article is a tutorial that shows how to build a data dashboard to visualize book reading data taken from Goodreads. It uses a low-code approach to prototype the dashboard using natural language prompts to an open-source tool, Vizro-AI, which generates Plotly charts that can be added to a template dashboard. You'll see how to iterate prompts to build three charts then add the prompts to a Notebook to generate an interactive dashboard. Finally, the generated dashboard code is added to a shared project that can be tweaked to improve the prototype. It's still not complete and can definitely be extended and improved upon. Let me know in the comments if you try it out!

View more...

Develop Microservices Using Azure Functions, API Management

Aggregated on: 2025-01-30 19:16:09

Microservices are a popular architectural pattern for building scalable and modular applications. They allow developers to focus on building small, independent, and reusable services that interact with each other through APIs. This blog will guide you through creating a simple serverless microservice and deploying it to Azure Cloud. I have used this approach to start building simple prototypes of various products, get early feedback from customers, and iterate faster. Components Azure Functions: The Serverless Workhorse Azure Functions is a serverless compute service that lets you run code pieces (functions) in Azure Cloud without worrying about provisioning infrastructure. We will leverage the event-driven functionality of Azure Functions to execute some API logic based on an HTTP request trigger.

View more...

Building a Machine Learning Pipeline Using PySpark

Aggregated on: 2025-01-30 18:31:09

In this article, we will look at an example of a complete machine learning (ML) pipeline using Python and PySpark. This pipeline includes data loading, preprocessing, feature engineering, model training, and evaluation.  The main idea here is to provide you with a jump start on building your own ML pipelines. We will use Spark capabilities to build the pipeline. PySpark offers ML libraries that are very powerful and efficient when it comes to processing large volumes of data. 

View more...

Bridging Graphviz and Cytoscape.js for Interactive Graphs

Aggregated on: 2025-01-30 17:16:09

Visualizing complex digraphs often requires balancing clarity with interactivity. Graphviz is a great tool for generating static graphs with optimal layouts, ensuring nodes and edges don't overlap. On the flip side, Cytoscape.js offers interactive graph visualizations but doesn't inherently prevent overlapping elements, which can clutter the display. This article describes a method to convert Graphviz digraphs into interactive Cytoscape.js graphs. This approach combines Graphviz's layout algorithms with Cytoscape.js's interactive capabilities, resulting in clear and navigable visualizations.

View more...

SmartXML: An Alternative to XPath for Complex XML Files

Aggregated on: 2025-01-30 16:16:09

XML is one of the most widely used data formats, which in popularity can compete only with JSON. Still, very often, this format is used as an intermediate representation of data that needs to be transferred between two information systems. And like any intermediate representation the final storage point of XML is a database. Usually, XPath is used to parse XML because it represents a set of functions that allows you to extract data from an XML tree. However, not all XML files are formed correctly, which creates great difficulties when using XPath.

View more...

Structured Logging in Grails 6.2.3

Aggregated on: 2025-01-30 15:16:09

Traditionally, logging has been unstructured and relies on plain text messages to file. This approach is not suitable for large-scale distributed systems emitting tons of events, and parsing unstructured logs is cumbersome for extracting any meaningful insights. Structured logging offers a solution to the above problem by capturing logs in a machine-readable format such as JSON, and it becomes easier to query and analyze log data in a system where logs are aggregated into centralized platforms like ELK (ElasticSearch, Logstash, Kibana). 

View more...

Secrets Management With Datadog Secret Backend Utility

Aggregated on: 2025-01-30 14:31:09

Datadog has 600+ out-of-the-box integrations that cover a variety of technologies, from web servers to databases to 3rd party SaaS services. For many of these integrations, there are agent configuration files that require storing credentials for the technology. The larger issue is around how to store those credentials. Many security-minded engineers would prefer not to store those secrets in plaintext in case of unauthorized access to their servers or shared access to Datadog configuration. What not everyone knows is that the Datadog agent has a mechanism to run an executable at agent startup in order to reach out to a secrets management tool of your choosing and decrypt those secrets, storing them in memory for use by the agent. Secrets Configuration If you want to utilize Datadog’s secrets management capabilities, there is a specific notation that the agent recognizes. Let’s take the Datadog MySQL integration as an example. While the integration, by default, only collects information from performance-related tables, you might grant additional access to other database tables to ingest more business-specific metrics into the platform via custom queries. This may require additional permissions for more sensitive data, so you might want to ensure that the credential is not stored in plaintext in the integration configuration. 

View more...

Commonly Occurring Errors in Microsoft Graph Integrations and How To Troubleshoot Them (Part 7)

Aggregated on: 2025-01-30 13:16:09

Retrieving attachments from SharePoint lists is a key feature when integrating data from SharePoint into external applications. Microsoft offers two possible APIs: the SharePoint REST API and the Microsoft Graph API. Both approaches provide methods to access the desired data. We explain the steps for configuring and using these APIs to retrieve attachments from a SharePoint list. SharePoint Lists SharePoint provides different list types to suit various data management needs and applications.

View more...

Scaling Read Your Own Writes Consistency

Aggregated on: 2025-01-30 12:31:09

Building on the foundational understanding of Read Your Own Writes (RYW) consistency outlined in my previous article, this follow-up dives into advanced strategies for scaling RYW in distributed systems. As systems grow in complexity and handle millions of concurrent users, ensuring RYW consistency becomes a more nuanced challenge. This article will explore cutting-edge techniques, trade-offs, and case studies to help practitioners implement RYW at scale. Challenges in Scaling RYW 1. Geo-Distributed Systems In globally distributed systems, writes often need to propagate across data centers in different regions. Ensuring RYW consistency for users whose requests span multiple regions introduces latency and synchronization challenges. Strategies must balance performance with correctness.

View more...

Passing JSON Variables in Azure Pipelines

Aggregated on: 2025-01-29 22:16:09

When working with Azure DevOps pipelines, there are situations where you need to use JSON as a variable — whether it's for dynamically passing configurations, triggering APIs, or embedding JSON data into scripts. A common use case is creating a pipeline that triggers an API requiring a JSON payload. However, Azure DevOps treats all variables as plain strings, and when you attempt to pass JSON, it often results in malformed data due to improper escaping. This can break APIs or other components expecting valid JSON.

View more...

How to Split PDF Files into Separate Documents Using Java

Aggregated on: 2025-01-29 21:31:09

Asking our Java file-processing applications to manipulate PDF documents can only increase their value in the long run. PDF is by far the most popular, widely used file type in the world today, and that’s unlikely to change any time soon. Introduction In this article, we’ll specifically learn how to divide PDF files into a series of separate PDF documents in Java — resulting in exactly one new PDF per page of the original file — and we’ll discuss open-source and third-party web API options to facilitate implementing that programmatic workflow into our code. We’ll start with a high-level overview of how PDF files are structured to make this type of workflow possible.

View more...

Predicting Diabetes Types: A Deep Learning Approach

Aggregated on: 2025-01-29 20:16:09

Diabetes has become a significant health concern in India, particularly among young adults. In this article, we'll explore a comprehensive analysis of diabetes prediction using machine learning techniques, working with a dataset that contains various health and lifestyle factors of young adults in India. Understanding the Dataset The dataset comprises 100,000 records with 22 features, including demographic information, health metrics, and lifestyle factors. The key features include age, gender, BMI, family history of diabetes, genetic risk scores, and various lifestyle indicators such as physical activity level, dietary habits, and sleep patterns. What makes this dataset particularly interesting is its focus on young adults and the inclusion of both Type 1 and Type 2 diabetes cases.

View more...

Why You Don’t Need That New JavaScript Library

Aggregated on: 2025-01-29 19:16:09

Libraries can rise to stardom in months, only to crash and fade into obscurity within months. We’ve all seen this happen in the software development world, and my own journey has been filled with “must-have” JavaScript libraries, each claiming to be more revolutionary than the one before.  But over the years, I’ve come to realize that the tools we need have been with us all along, and in this article, I’ll explain why it’s worth sticking to the fundamentals, how new libraries can become liabilities, and why stable, proven solutions usually serve us best in the long run.

View more...

Metal and the Simulated Annealing Algorithm

Aggregated on: 2025-01-29 18:31:09

In this article, I’ll walk you through Bryan Luke’s Simulated Annealing Algorithm, a powerful probabilistic approach to finding optimal solutions among numerous possibilities. We’ll explore its implementation using the classic N-Queens problem as an example. Unlike greedy algorithms, simulated annealing intelligently explores the solution space to avoid being trapped in poor solutions. What Is Simulated Annealing? Simulated annealing is inspired by the physical process of annealing metals, where a material is heated and then cooled slowly to improve its internal structure. The algorithm mimics this process to find solutions in complex problem spaces.

View more...

Using Custom React Hooks to Simplify Complex Scenarios

Aggregated on: 2025-01-29 17:16:09

In the world of React, hooks have revolutionized the way we build components and manage state. The introduction of hooks like useState, useEffect, and useContext gave developers more flexibility in writing clean and reusable code. However, there are scenarios where built-in hooks alone aren't enough to handle complex logic or provide the desired abstraction. That's where custom React hooks come in. Custom hooks allow you to encapsulate logic into reusable functions, making your codebase cleaner and more maintainable. In this article, let us explore advanced techniques and strategies for building custom React hooks to handle complex scenarios.

View more...

Expert Guide: How to Slash Cloud Cost in 2025

Aggregated on: 2025-01-29 16:16:09

Cloud computing has revolutionized the way companies scale and innovate, but cost control is one hurdle. According to Precedence Research, the cloud computing market size is going to increase to $2.3 trillion by 2032, which necessitates prioritizing cost optimizations as many organizations move to Cloud computing. Image: Cloud Computing Market Size Projections from 2022 to 2032

View more...

Gemini 2.0 Flash (Experimental): A Deep Dive for Developers

Aggregated on: 2025-01-29 15:16:09

Gemini 2.0 Flash, Google’s latest LLM, pushes the boundaries of AI capabilities. This blog delves deeper, focusing on key features and how they differentiate Gemini 2.0 Flash from other prominent models. Gemini distinguishes itself from other LLMs primarily through its multi-modal capabilities and advanced reasoning abilities. Unlike many LLMs that primarily focus on text, Gemini can process and generate various forms of data, including images, audio, and code. This multimedia nature allows Gemini to tackle a wider range of tasks and applications, such as image-based question answering, video summarization, and even generating creative content across different modalities. 

View more...

Publishing Flutter Packages to JFrog Artifactory

Aggregated on: 2025-01-29 14:31:09

JFrog is a comprehensive package manager designed to centralize and secure all the packages required for internal development within an organization, including applications, libraries, and components. It also facilitates the management of open-source libraries with robust security guardrails. This centralized approach provides enterprises with a structured and transparent method for managing open-source software and securing internally developed packages. There is well-defined documentation available for incubating JFrog for Java Technology and JavaScript/npm. With respect to the Flutter packages, I didn’t find detailed documentation, so I thought of outlining the scenarios and the resolution that I came up with.

View more...

Scrape Amazon Product Reviews With Python

Aggregated on: 2025-01-29 13:16:09

Amazon is a well-known e-commerce platform with a large amount of data available in various formats on the web. This data can be invaluable for gaining business insights, particularly by analyzing product reviews to understand the quality of products provided by different vendors. In this guide, we will look into web scraping steps to extract Amazon reviews of a particular product and save them in Excel or CSV format. Since manually copying information online can be tedious, we’ll focus on scraping reviews from Amazon. This hands-on experience will enhance our practical understanding of web scraping techniques.

View more...

The Energy Efficiency of JVMs and the Role of GraalVM

Aggregated on: 2025-01-29 12:16:09

As the world becomes increasingly conscious of energy consumption and its environmental impact, software development is joining the movement to go green. Surprisingly, even the choice of runtime environments and how code is executed can affect energy consumption. This brings us to the world of Java Virtual Machines (JVMs), an integral part of running Java applications, and the rising star in the JVM world, GraalVM.  In this article, we will explore how code performance and energy efficiency intersect in the JVM ecosystem and why GraalVM stands out in this domain.

View more...

Implement RAG With PGVector, LangChain4j, and Ollama

Aggregated on: 2025-01-28 22:31:08

In this blog, you will learn how to implement retrieval-augmented generation (RAG) using PGVector, LangChain4j, and Ollama. This implementation allows you to ask questions about your documents using natural language. Enjoy! Introduction In a previous blog, RAG was implemented using Weaviate, LangChain4j, and LocalAI. Now, one year later, it is interesting to find out how this has evolved. E.g.:

View more...

Soft Skills Are as Important as Hard Skills for Developers

Aggregated on: 2025-01-28 21:31:08

At the beginning of my career as a backend developer, I focused almost exclusively on hard skills. I believed that becoming a technically strong specialist was the key to success, and once I mastered that, job security would be guaranteed. After all, employers care about your ability to solve real problems, not how well you can articulate your thoughts, right? But over time, as my experience grew, I came to realize that technical skills alone aren't enough if you want to progress further in your career. Without soft skills, reaching a high level in your profession becomes a challenge. Soft skills open doors to exciting projects, enable you to take on responsibility for important decisions, and ultimately help you take top technical roles in reputable companies. Even brilliant code means little if you can't explain its value to your team, align changes with your colleagues, or understand what the business truly needs. Let's explore why soft skills are crucial for developers and how they can help you advance in your profession.

View more...

Stop Shipping Waste: Fix Your Product Backlog

Aggregated on: 2025-01-28 20:16:08

TL; DR: Stop Shipping Waste When product teams fail to establish stakeholder alignment and implement rigorous Product Backlog management, they get caught in an endless cycle of competing priorities, reactive delivery, and shipping waste. The result? Wasted resources, frustrated teams, and missed business opportunities. Success in 2025 requires turning your Product Backlog from a chaotic wish list into a strategic tool that connects vision to value delivery. Learn how to do so.

View more...

Next Generation Observability: An Architectural Introduction

Aggregated on: 2025-01-28 19:16:08

In my past life, I spent many hours researching, creating, explaining, and publishing portfolio architectures across a collection of application development, domain verticals, infrastructure solutions, and hybrid cloud domains. Most of these concentrated on the application layers and their usage of the infrastructure. Then, I transitioned into the cloud native observability space, and observability became the guiding light on my learning path. This quickly led to the realization that the same solution mapping that the previous portfolio architectures brought to organizations struggling with solving hard problems also applied to the observability world. It's just a matter of a different angle from which we look at those solutions.

View more...

Using Spring AI to Generate Images With OpenAI's DALL-E 3

Aggregated on: 2025-01-28 18:16:08

Hi, community! This is my first article in a series of introductions to Spring AI. Today, we will see how we can easily generate pictures using text prompts. To achieve this, we will leverage the OpenAI API and the DALL-E 3 model.

View more...

Implement a Geographic Distance Calculator Using TypeScript

Aggregated on: 2025-01-28 17:31:08

When developing educational games, providing accurate and meaningful feedback is crucial for user engagement. In this article, I'll share how we implemented a geographic calculation system for Flagle Explorer, a flag-guessing game that helps users learn world geography through interactive feedback. The Technical Challenge Our main requirements were:

View more...

Implementing and Testing Cryptographic Primitives With Go

Aggregated on: 2025-01-28 16:16:08

Implementing cryptographic primitives securely is crucial for maintaining the integrity, confidentiality, and authenticity of data in Go applications. This guide will walk you through the process of implementing and testing various cryptographic primitives using Go’s standard library and best practices. Understanding Cryptographic Primitives Cryptographic primitives are the building blocks of cryptographic protocols and systems. They include:

View more...

Understanding Inference Time Compute

Aggregated on: 2025-01-28 15:16:08

In the field of machine learning and artificial intelligence, inference is the phase where a trained model is applied to real world data to generate predictions or decisions. After a model undergoes training, which can be computationally intensive and time consuming, the inference process allows the model to make predictions with the goal of providing actionable results. Inference Time Compute Inference time compute refers to the amount of computational power required to make such predictions using a trained model. While training a model involves processing large datasets to learn patterns and relationships, inference is the process where the model is used to make predictions on new, unseen data. This phase is critical in real world applications such as image recognition, natural language processing, autonomous vehicles, and more.

View more...