As a Java Developer Advocate at JetBrains, I frequently demonstrate IntelliJ IDEA features through videos and articles. To do this, I usually create small demo applications focused on specific features. While this works well initially, the number of such applications grows quickly. Soon, it becomes difficult to remember which app was built for what purpose, turning it into a maintenance headache.

Protect Your Mental Health While Being On Social Media
Social media is a double-edged sword. If used properly, it can be immensely helpful. Personally, being on social media, especially on Twitter, helped me to connect with amazing people across the world. This in turn gave me a lot of opportunities such as learning from the experts, job opportunities, a chance to write books, speaking at conferences, etc.

You Can Code Offline With Local AI(Ollama)
ChatGPT and other Generative AI tools took the world by a storm. People are using these AI tools for various purposes such as to explore a topic, to seek answers to their questions or to get help in coding, etc. ChatGPT and Google’s Gemini are very popular AI tools that are available for free with some usage limitations.

Spring Boot + Testcontainers Tests at Jet Speed
Spring Boot 3.1.0 introduced support for Testcontainers to simplify local development and testing. Testcontainers helps in writing tests using real dependencies instead of mocks, but it may also increase the test execution time.

My First Impression of Google's NotebookLM
I came across NotebookLM from my social media feed, and it looks interesting.
With NotebookLM, you can upload documents, videos, web URLs and let the AI agents talk about the uploaded material. That sounds intriguing.
Recently I wrote an article about software complexity and shared my viewpoint. Many people appreciated it and some people didn’t. That is fine to have different opinions.

Running your own Spring Initializr and using it from IntelliJ IDEA
If you ever worked with Spring Boot, then you are probably aware of Spring Initializr. The Spring Initializr is a web application that you can use to create a Spring Boot application.
Do you know Spring Initializr itself is an open-source Spring Boot application? You can fork it, customize it, deploy on your infrastructure and use it to generate Spring Boot applications.

Master the Art of Requesting Technical Help: A Handy Email Template
As a software developer, at the beginning of my career, I thought it was more important to learn one more programming language or framework or library. But as years passed by, I realized it is also equally important to learn how to interact with people. Now remote work is becoming new normal and social media platforms like Twitter, LinkedIn, etc. are a common place to interact with people across the globe.

Mastering Spring Boot in 5 Stages
Spring Boot is the most popular framework in the Java world to build enterprise applications. Also, Spring Boot is the most sought-after skill to get hired as a Java developer.
Here is my recommended approach to learn Spring Boot.

Thymeleaf Layouts using Fragment Expressions in Spring Boot GraalVM Native Image
Typically, in Spring Boot + Thymeleaf applications, we use thymeleaf-layout-dialect to define the common layout of the web pages and it works fine.
But when we compile the Spring Boot application to GraalVM native image, it is failing due to this error. I tried many suggestions mentioned in the above issue, but none of them worked for me.

Spring AI RAG using Embedding Models and Vector Databases
In this article, we will explore the following:
- Introduction to Embedding Models.
- Loading data using DocumentReaders.
- Storing embeddings in VectorStores.
- Implementing RAG (Retrieval-Augmented Generation), a.k.a. Prompt Stuffing.
Let’s get started.