How Firebase Enabled Us to Build a Quiz App in Hours Without a Backend
The Idea Behind This Blog Entry For one of our recent side projects at CIIT Software, we wanted to build a simple quiz app, but
Are we developers already lost? – IntelliJ Junie AI Test
AI to make the Star Trek dream a reality? The popular news portals have been buzzing with activity in recent weeks. The reason: JetBrains has been working intensively on this for the past few months.

Angular: Advantages of the revised control flow elements
What is Angular? Developed by Google, Angular is a web framework that helps developers create single-page web applications. Based on TypeScript, it offers a wide range of features.

The Art of Prompt Engineering: How to Make AI Talk
What is Prompt Engineering? Since the introduction of Large Language Models (LLM), new ways have opened up to solve problems more efficiently and dynamically. To now
Project Valhalla – More performance and better memory management for Java
Project Valhalla Java Performance is the focus of a new OpenJDK initiative aimed at making Java faster and more memory-efficient. Java has been part of the OpenJDK ecosystem for decades.

How to Integrate Azure OpenAI Batch Processing into Your Java Application
This blog post shows you how to integrate Azure OpenAI batch processing into your Java application. The Spring Framework has come a long way in

AI Tech Talk: AI in Custom Software Development
A look back at the CIIT AI TECH TALK – A day full of exciting presentations and innovative solutions from software experts. We, CIIT Software, an experienced provider

Android UsageStatsManager – Tracking App Usage with Ease
In this article, we'll explore the UsageStatsManager class in Android and guide you through building a simple app to track app usage. A sample project

Spring AI – getting started with large language models in Java Spring
Introduction to Spring AI On July 24th 2023 Dr Mark Pollack made the first commit of the new Spring AI framework. Inspired by Python frameworks

New training course: Developing AI chat assistants with Java / Spring AI
The course "Developing AI Chat Assistants with Java Spring" provides a comprehensive insight into the implementation of AI chat assistants using the Retrieval Augmented Generation pattern and the latest technologies.

Different Methods for Resetting Files in Git
Confused by the various options for cleaning up or resetting your branch, working area, or staging area? Use this overview to help get things sorted:

@Transactional in Spring – how it works
This article provides an in-depth exploration of Spring Framework's @Transactional annotation, detailing its functionality, implementation, advanced features, and best practices for effective transaction management in Java applications.

Nginx Cache for WordPress
In the world of web hosting, speed is a crucial factor for a website's success. This is where the Nginx cache comes into play, especially for WordPress websites. In this blog post, we'll discuss how to configure the Nginx cache for WordPress, its advantages, and potential problems. Configuration

Keycloak Integration in Spring Applications
Keycloak is an open-source identity and access management tool widely used by Java developers to integrate security features into applications. It's especially useful for applications based on Spring Boot. In this short blog, we'll take a look at what Keycloak is used for, its configuration options, and how to use it.

Virtual Threads in Java 21
Virtual Threads in Java: A Paradigm Shift in Concurrent Programming Introduction to Virtual Threads With the introduction of virtual threads in Java (also known as lightweight threads), we are experiencing a significant evolution in concurrent programming. Traditional threads, which are directly mapped to OS threads, are resource-intensive and limit the