South Africa Conference – ECRM 2019

Intro Going to this conference in the Wits School of Business was really cool, basically one of the best business schools in Africa! Johannesburg It’s a very interesting city, with better infrastructure than most of the capitals of cities in South America. The population is very polite and driving on the left is quite challenging. Pretoria Small and cozy city, but very cool. Not that far from Jozy actually, about 50 min, the same as the Conference This time was a smaller conference than the one in Austria, but very interesting speeches and discussions. The fact that the conference was small, allowed a better and deeper interaction with the members. Cape Town Unfortunately, this will be for the next visit. Safari We end up going to the Safari Lion & Park and met Post Malone!!
Image Reference
People People there are amazing, the customer service for restaurants and commerce is really great.

Saputo and Sapevo (IT)


Saputo is one of those words that you know and help a lot ~ in Italian, I mean.

To have (avere)

io ho

tu hai

lui/lei ha

noi abbiamo

voi avete

loro hanno


To be

io sono

tu sei

lui/lei  è

noi siamo

voi siete

loro sono


Sapere English
Io So I know
Tu Sai You know
Lui/Lei Sa He/She knows
Noi Sappiamo We know
Voi Sapete Y’all know
Loro Sanno They know



No need for extra stuff, just the verb itself

  • io sapevo
  • tu sapevi
  • lei/lui sapeva
  • noi sapevamo
  • voi sapevate
  • loro sapevano

Passato prossimo

to be in past + verb in passato prossimo

example: io ho fato


  • io ho saputo
  • tu hai saputo
  • lei/lui ha saputo
  • noi abbiamo saputo
  • voi avete saputo
  • loro hanno saputo


Trapassato remoto


  • io avevo saputo
  • tu avevi saputo
  • lei/lui aveva saputo
  • noi avevamo saputo
  • voi avevate saputo
  • loro avevano saputo



This word is used for several things: all the passato prossimo and trapassato prossimo!!

loro hanno has a h


Loading jni library


I think that’s quite interesting that we need to load the -Djava.library.path and the System.setProperty and why is that?!

  1. Set path in console when executing jar:
    java -Djava.library.path=./lib -jar myApplication.jar
  2. Set path in the code before loading library:
    System.setProperty("java.library.path", "./lib");

On this stackoverflow they discuss about this, it’s for some systems that do not load from the lib call.

Xmx vs MaxRAM


That’s quite confusing but Xmx=1g lets my JVM consuming more than 1g of RAM. How so?

Doing some tests here I see that when using Xmx=1g, the JVM is actually using 1.5g! well the explanation is simple:

Xmx only limits the allocated memory on the heap.

So how to limit it??

To specify the total usage you need to use –XX:MaxRAM.

Thanks, CHF for this tip!  You can use this table as a reference.

Containers update:  Although not clearly stated, when I originally wrote this solution MaxRAM is being used on containers because at that time ( before java 8u191 or so) the java wouldn’t recognize the size of the container. So user would need to go there and set the size of the MaxRAM. So I mean to have a limit of total size of the container (heap and off-heap) and MaxRAM does exactly that. However, this flag is less useful currently given the JVM is container aware – so the JVM will know the limits of the memory via cgroups and then the heap and off-heap is usually be set as starting flags.  So then MaxRAM is almost retired if we think about. So I mean it is not a flag we will always use – but of course depending on context we can still use it. For instance if you want to have a container (with or without a sidecar) with a certain size of memory and leave a little bit of space with the max memory Java container can use (like pod == 4gb and container uses 3.95gb – leaving 50mb for other troubleshooting tools for example – that can be useful to set MaxRAM maybe similar scenarios. So basically 8u191+ == container aware – so no need for MaxRAM.


|                 8u191+ –> container aware       |


EAP Galleon



This a project to make EAP more efficient and smaller specifically for deployment in containers. You basically don’t need the whole EAP with full functionalities, but only the ones you will actually use.

Basically, if I want feature pack 1, 2, 3 and gallons will get the jars needed for those and then it will some how have an example config
and basically pulls the jars from maven

Galleon ~ Cloud native EAP


From Git

   Creating an EAP with only the minimal you need ~ using layers:

Just run the command install wildfly:current --layers=cloud-profile,core-server,core-tools --dir=my-wildfly-server

~ this will create a minimal wildly with cloud-profile, core services, and core tools.

OCP integration

It’s very useful then, to use with Open Shift and provide easy integration. EAP images on OCP are built with Galleon straight from Si2 using Galleon, i.e. Galleon layers, and only brings that specific feature.

Example with jboss-logmanager-2.1.5.Final-redhat-00001.jar

Instead of $JBOSS_HOME/modules/system/layers/base/org/jboss/logmanager/main/jboss-logmanager-2.1.5.Final-redhat-00001.jar, which is in EAP 7.x, within a container we will have:

$ find . -name jboss-log\*.jar


World Tour

Planning a world tour – 12 months, I think I would do the following places:

12 Countries 
1- Chile (Argentina)
2- Australia (NZ)
3- Singapura
4 – Tailandia
5 – South Korea  (Japan)
6 – India (Sri Lanka)

7 – UAE/Israel

8- Turkey
9- Moscow
10-  Estonia
11- Ireland
12 – Canada/USA
Holidays =  Costa Rica/Guiana