open-menu closeme
Home
RetroComp icon
Retro Computing Articles Composition Notebooks 8bit
DevOps icon
Automation K8s Done Right
GenAI icon
Fatlama Newsletter Generative AI
Projects icon
Software Projects Arduino Misterio Esp8266 SQLite
Status
Links icon
GitHub LinkedIn
About
github linkedin rss
  • K8s Java

    calendar Dec 16, 2025 · 3 min read
     en software  · java spring k8s pods tuning
     ·
    Share on: twitter facebook linkedin copy
    K8s Java

    It seems easy to tune k8s pods for your Java Spring Boot application, right? Well it is not. Lets dive into it.


    Read More
  • Open AI Gemini

    calendar Dec 8, 2025 · 2 min read
     fatlama  en software  · java spring
     ·
    Share on: twitter facebook linkedin copy
    Open AI Gemini

    “I gemiti di OpenAI” we whould say in Italian. It seems Google Gemini is catching up ChatGPT in a strong way. Let’s undertand what does it imply.


    Read More
  • PostgreSQL Queue in Java + Spring

    calendar Mar 29, 2025 · 4 min read
     en knowledgebase sql  · java nosql postgresql
     ·
    Share on: twitter facebook linkedin copy
    PostgreSQL Queue in Java + Spring

    We already discussed about Queue management solutions in the past, and I am always happy to write about it. Queue managers are not easy to implement, and there is a reson if IBM MQ Series is still a successful product. Some month ago, a big bank customer asked me to provide a small queue implementation to increase asynchronous internal processing of our payment solution.

    The project had very strong contraints: I could not use existing queue system because they were not yet available, and I need to be able to provide microservice parallelism in a cloud-environent.

    I have very little time to provide a solid solution, and re-inventing the wheel was not an option. Performance was important, but we plan to have a managable numbers of transactions per seconds, far behind modern cloud database capacity.

    Challenge accepted.


    Read More
  • TDD Reloaded

    calendar Jun 26, 2024 · 4 min read
     en evergreen lang software  · java tdd
     ·
    Share on: twitter facebook linkedin copy
    TDD Reloaded

    Test driven development is a beast to tame. I like TDD but in the past it was quite difficult to achive, at least in a pure-consultant approach with a "turn key" framework behind.

    There are two major concept often not grasped correctly.


    Read More
  • Repackage! Spring Boot exit strategy to Jigsaw

    calendar Apr 22, 2024 · 1 min read
     uncategorized  · java spring spring-boot
     ·
    Share on: twitter facebook linkedin copy

    With new JDK, when you compile a spring-boot application you get a big jar which cannot be included as utility jar anymore.

    The reason are a lot but, simply put, the new packaging system introduced with JDK9 require a strong separation.


    Read More
  • Feature toggle in Java Spring

    calendar Jan 24, 2024 · 5 min read
     en featured  · java spring spring-boot
     ·
    Share on: twitter facebook linkedin copy

    Today I have an hard time using the @Profile directive for enable feature toggle on Spring, so I decided to write a small guide on it.

    Introduction

    Feature toggle is a way to write your code to be able to 'turn' on/off specific modules of your (micro) service. Because Spring Autowiring can 'discover' the right service for the right need, you can easily introduce feature toggle in an Inversion of Control engine like Spring.
    I am not a super fan of feature toggle, but it helped me on more than one project. Also sometimes on production delivery you have some legal constraints (like enable a service not before a specifica date) and so a dynamic, parametrized run become a must.


    Read More
  • Progettare per il domani o l’altro ieri?

    calendar Mar 4, 2021 · 2 min read
     humor it  · humor java software-architect
     ·
    Share on: twitter facebook linkedin copy

    Complice del passare degli anni, inizio a sviluppare una certa irritazione per alcune soluzioni architetturali chiaramente inutili. Scrivo quindi queste brevi righe a beneficio di qualsiasi giovane sviluppatore Java (o Python o JavaScript o….) affinché prima di “inventarsi” una nuova classe/framework/interfaccia inutile si faccia la triplice Domanda del Destino e cioé:


    Read More
  • The new Java, the old java: save the date

    calendar Jun 20, 2020 · 1 min read
     en  · java
     ·
    Share on: twitter facebook linkedin copy

    Java 15 will remove Solaris Support. This with the removal of Java Applet in JDK 9 is the final end of another Java mutation process cycle.

    I mean, Java 1.0 is dead as we know it. Vector, Applet and the Solaris-only version are all dead. Template was a “too complex feature”.


    Read More
  • Jdk 11 Migration

    calendar Mar 2, 2020 · 2 min read
     en  · java
     ·
    Share on: twitter facebook linkedin copy

    JDK 1.11 is the next LTS (Long Term Support) Release.

    A lot of Enterprise Customers are still with JDK 1.8, but nowadays you need to provide migration path to JDK 1.11 (or to JDK 1.14 LTS).

    JDK11 will be supported by Amazon Corretto at least up to 2024, so it seems a good candidate for a migration target. Maven is highly recommended as build system, so we will focus on this use case.


    Read More
  • Avoid Kafka if unsure (think twice series)

    calendar Dec 2, 2019 · 2 min read
     en featured knowledgebase sql  · java nosql kafka
     ·
    Share on: twitter facebook linkedin copy
    Avoid Kafka if unsure (think twice series)

    Some co-workers started using Apache Kafka con a bunch of our Customers.

    Apache Kafka is a community distributed event streaming platform capable of handling trillions of events a day. Initially conceived as a messaging queue, Kafka is based on an abstraction of a distributed commit log[*].
    To get this goal, Apache Kafka needs a complex servers setup, even more complex if you want the certification for the producing company (Confluent).  Now, if you are planning to use Kafka like a simple JavaMessaeSystem (JMS) implementation, think twice before going on this route.

    PostgreSQL 12 offers a fair (and open source) partition implementation, whereas if money are not a problem, Oracle 12c can happy scale on billions of record before running into troubles (and ExaData can scale even more).

    PostgreSQL and Oracle offer optimizations for partitioned data, called “Partition Pruning” in PostreSQL teminology:

    With partition pruning enabled, the planner will examine the definition of each partition and prove that the partition need not be scanned because it could not contain any rows meeting the query's WHERE clause. When the planner can prove this, it excludes (prunes) the partition from the query plan.
    This feature is quite brand new (popped in PostreSQL 11) but it is essential to a successful partition strategy. Before these feature, partitioning was a black magic art. Now it is simpler to manage.
    Read More
  • On Constants

    calendar Oct 4, 2019 · 1 min read
     en humor lang software  · evil ideas java
     ·
    Share on: twitter facebook linkedin copy
    On Constants

    I think constants are evil (just joking but….I will explain why).

    I am tired of seeing a lot of Java classes filled with the same constants repeated over and over again, instead of collecting them in a common file, which in C Language was called include files (ooooah!).


    Read More
  • Comments are evil?

    calendar Apr 14, 2019 · 1 min read
     en lang software  · evil ideas java
     ·
    Share on: twitter facebook linkedin copy
    Comments are evil?

    In the 1980 comments were used to reduce the “gap” between unstructured code and “rationale” behind the code.

    1. C/64 Peek and poke where oscure.
    2. Gosub on function pointed by numbers was bad
    3. 8-bit systems was tight on command names and so on (think to write a python interpreter in Arduino/bbc:Micro, or look at the memory consumed by the COMMAND STRINGS on C/64 Basic v2)
    4. C code was not expressive, but good code required little comment, as you can see here
    Today comments are used to:
    1. Comment obscure code -> instead of writing it better
    2. Comment caching code you will end up to commit breaking production ->instead of having a cache config to disable cache on dev machines
    3. Comment not working code will end up in production, producing functional breaks -> because you will forget it and  commit the bad version
    When I am sent on a Red Project, the code is often obscure and not commented at all. So I dare to suggest to deprecate comments at all, replacing it with a set of meta annotation like:
    @Comment("Documentation of this class/method/function/closure")
    @Fixme("Reason")
    @Todo("Why",  deadline=20230423)
     

     


    Read More
  • ?FileSystem is faster than RAM [under your Operating System]

    calendar Jan 18, 2019 · 2 min read
     en featured  · development great-ideas java kafka
     ·
    Share on: twitter facebook linkedin copy

    I am studying Apache Kafka (a "distributed streaming platform") and I stumbled upon this conclusion: the "disk read fear" a lot of projects have in the past, is a fake.

    A lot of distributed database started tutorial with the statement "disk read are slow, write are fast" which is true to some extent, and accounted for de-normalizing data and memory caches.


    Read More
  • Vjdbc

    calendar Jul 1, 2017 · 1 min read
     en software  · java
     ·
    Share on: twitter facebook linkedin copy
    Vjdbc

    Vjdbc is a remote access for JDBC-Datasources developed more then ten years ago (last news are from 2007, with last comit from 2013.

    The project was migrated to Maven 3, but the code base is very old.

    I decided to give it a try, spin a github repository and started working on it, because you know, is nice to have a database driver proxy-logger :)


    Read More
  • Kotlin

    calendar Jun 8, 2017 · 3 min read
     en  · java
     ·
    Share on: twitter facebook linkedin copy

    Language based on JVM are the new trend in Java World. It seems everyone dislike Oracle on these days.

    Kotlin score some point on these days because it will be supported officially on Android (Mid-May announce):

    Starting now, Android Studio 3.0 ships with Kotlin out of the box, meaning Android developers no longer need to install any extras or worry about compatibility. It also means that moving forward, you can rest assured that both JetBrains and Google will be supporting Android development in Kotlin.

    It is a good news for an huble language with good IDE support like this.


    Read More
    • ««
    • «
    • 1
    • 2
    • 3
    • 4
    • 5
    • »
    • »»

Recent Posts

  • K8s Java
  • Open AI Gemini
  • Arduino Q da far crescere
  • Postgres Take it All
  • La ruota del Destino
  • Darth Android
  • Vps Provider

Latest comments

    Giovanni Giorgi

    Copyright 1999-  GIOVANNI GIORGI. All Rights Reserved

    to-top