In Spring Boot applications using Spring Data JPA, pagination via Pageable is a standard way to retrieve large datasets efficiently. However, when sorting by non-unique fields (e.g., type, status, or creationDate), it can lead to inconsistent or duplicated results across pages. This post outlines the root cause, why deterministic sorting is critical for stable paging, and our chosen approach to enforce it dynamically and flexibly.
SpringBoot integration with ElasticSearch
Integrating ElasticSearch into your Spring Boot application enhances its search capabilities, enabling efficient storage, retrieval, and analysis of large datasets.
ElasticSearch is a distributed, RESTful search and analytics engine designed for scalability and real-time performance. By incorporating ElasticSearch, you can implement advanced search functionalities, full-text search, and complex data analytics within your application.
Configure SwaggerUI in a SpringBoot application
Integrating Swagger into your Spring Boot application enhances API usability and accessibility by generating dynamic, interactive documentation for your endpoints.
Swagger, a powerful tool from the OpenAPI ecosystem, provides a user-friendly interface—Swagger UI—that allows developers and stakeholders to visualize, explore, and test API operations directly from the browser. By incorporating Swagger into your application, you not only improve development efficiency and collaboration but also ensure your API is well-documented, facilitating easier onboarding for new developers and promoting seamless integration with third-party services.
Here’s how you can configure Swagger UI for your Spring Boot API.
Building a Python package
I have been working with Python over the last years, using Python mainly for machine learning projects but I had never built a package. Recently I built my first Python package SolarSystem and published it on github and on Pypi. The idea of SolarSystem, i.e. planets and other celestial objects position estimation as a time function, was old as well …
Transfer learning for image classification with Keras
Transfer learning from pretrained models can be fast in use and easy to implement, but some technical skills are necessary in order to avoid implementation errors. Here we describe a fast and easy to understand procedure using data from Kaggle’s Dog Breed Identification competition as an example. The same principles can be applied on virtually any image classification problem. …
Graph analysis of Stack Overflow tags with Oracle PGX – Part 2: Incremental Updates
This is the second part of our three-part blog post series (see the first part here), which deals with incremental data updates. In our scenario we assume that we acquire small batches of data updates using some kind of web scraping mechanism. We will not deal with the details of that mechanism, as it is beyond the scope of this …
Graph analysis of Stack Overflow tags with Oracle PGX – Part 1: Data Engineering
Intoduction Oracle Parallel Graph Analytics (PGX) is a toolkit for graph analysis, both for running algorithms such as PageRank and for performing SQL-like pattern-matching against graphs. Extreme performance is offered through algorithm parallelization, and graphs can be loaded from a variety of sources such as flat files, SQL and NoSQL databases etc. So, in order to get a deeper feeling, …
Enabling the Green-Marl compiler for Parallel Graph Analytics in Oracle Big Data Lite VM
Recently, I began working with Parallel Graph Analytics (PGX) on my Oracle Big Data Lite (BDL) VM version 4.7.0.1. I was especially intrigued and curious about the capabilities of a PGX component called Green-Marl (GM), a domain-specific language specially designed for graph data analysis. It was stated to extend PGX’s capabilities and “implement algorithms with no limit”. Especially the last argument …
Streaming data from Raspberry Pi to Oracle NoSQL via Node-RED
Starting from version 4.2, Oracle NoSQL now offers drivers for Node.js and Python, in addition to the existing ones for Java, C, and C++; this is good news for data science people, like myself, since we are normally not accustomed to code in Java or C/C++. So, I thought to build a short demo project, putting into test both the …
Dynamically switch Keras backend in Jupyter notebooks
Recently, I was looking for a way to dynamically switch Keras backend between Theano and TensorFlow while working with Jupyter notebooks; I thought that there must be a way to work with multiple Keras configuration files, but this proved not to be the case. My issue was that, while I am mainly working with Theano, I wanted a quick and …



