Skip to main content

Posts

The "Code-Rich" Organization: How Automatic Code Generation Will Revolutionize Everything

  I put on paper a couple of thoughts about AI and Large Language Models (LLM) for automatic code generation in the development process. My thesis is that the current organizations are mostly “code-thin”, where only the basic Business Processes are modeled through software, while in the future we will have “code-rich" organizations boosted through the abundant and cheap AI and LLM Generated software code. These “code-rich” organizations, where every possible business process is software based - will outperform the usual "code-thin" organizations, where software is “hand-made” and expensive. Feedback would be very, very appreciated. https://www.linkedin.com/pulse/code-rich-organization-how-automatic-code-generation-de-collibus

Crypto Lorem Ipsum

 After a long pause, I come back to this blog to annouce my last discovery: there is a web site for generating crypto-related Place Holders... no wait, placeHODLers... Incredible! https://placehodler.shapelabs.co (The problem is, the text it generates is suspiciously similar to a 2018 normal ICO)

Can't use the newest npm when node is installed with brew (MacOs)

Even though I installed and reinstalled node with brew, with last versione 11.8.0, apparently it kept using the last version fdecollibus$ npm install --global gatsby-cli npm WARN npm npm does not support Node.js v11.8.0 npm WARN npm You should probably upgrade to a newer version of node as we npm WARN npm can't make any promises that npm will work with this version. npm WARN npm Supported releases of Node.js are the latest release of 4, 6, 7, 8, 9. npm WARN npm You can find the latest version at https://nodejs.org/ /usr/local/Cellar/node/11.8.0/bin/gatsby -> /usr/local/Cellar/node/11.8.0/lib/node_modules/gatsby-cli/lib/index.js + gatsby-cli@2.4.8 npm -v gave me back version 5.6.0. I've therefore noticed that  /usr/local/lib/node_modules had wrong permissions assigned to root:wheel. A chown did not fix the problem: I've had to manually delete the content of the folder (cd / usr/local/lib/node_modules and -careful - type rm -rf ...

Multiple controllers with Spring Boot

Remember, when you want to have multiple controllers with Spring Boot, you should always name them differently in the annotation, otherwise they will not work So these two together will NOT work (or just one of them will work) These two instead WILL work.

DNS problems when running an Ethereum cluster on Docker Swarm

To run privately an ethereum cluster, the nodes have to find each other through a bootnode. The address of the bootnode has to be an IP address. When we run a bridged network we can set manually the ip address, but this option is not currently supported by the overlay network needed by swarm. Therefore in our init script we run a simple resolution command based on the image name "bootnode". Problem was that the nodes were still unable to connect and no mining would happen. After investigating, I've noticed that the address resolved with the name of the service was not consistent. Inside the docker container: root@84cba6d65c3d:/geth# host ethnode4 ethnode4 has address 10.0.0.3 root@84cba6d65c3d:/geth# host tasks.ethnode4 tasks.ethnode4 has address 10.0.0.4 The right address was .4 where the system was answering , with .3 other containers were not able to connect.  Therefore I change the bash script to fetch the bootnode ip by prepending the hostname with ...

When adding a property to graph-tool don't forget this

When you are adding a new property to a graph-tool graph (https://graph-tool.skewed.de/) is_node_customer = network.new_vertex_property("bool") weight = network.new_edge_property("float")  you should never forget to add this network.vertex_properties["is_node_customer"] = is_node_customer network.edge_properties["weight"] = weight Otherwise the properties will not saved or stored together with the graph and you will lose a lot of time

How do I avoid deletion of plan branch in Bamboo?

Make sure the following checkbox is not flagged:

Do you miss "Expressions" view while debugging in Eclipse?

From time to time, I forget where the expression view can be set in Eclipse... it's right here in the Window panel 

View by projects or working sets in Eclipse

View by projects or working sets in Eclipse...always comes in handy!

Hybris setup issue: Unsupported major.minor version 52.0

While I was typing the final "ant all" command for hybris, it miserably failed with the following exception hybris/bin/platform/resources/ant/antmacros.xml:123: java.lang.UnsupportedClassVersionError: de/hybris/ant/taskdefs/DbDriverValidator : Unsupported major.minor version 52.0 at java.lang.ClassLoader.defineClass1(Native Method) Even though a "java -version" gave me back version 8, ant is still using $JAVA_HOME variable. So you have to change it into the script. My suggestion is that you adapt the setantenv.bat script with the JAVA_HOME directly @echo off set ANT_OPTS=-Xmx512m -Dfile.encoding=UTF-8 set ANT_HOME=%~dp0apache-ant-1.9.1 set JAVA_HOME=C:/Program Files/Java/jdk1.8.0_101 set PATH=%ANT_HOME%\bin;%PATH% rem deleting CLASSPATH as a workaround for PLA-8702 set CLASSPATH= echo Setting ant home to: %ANT_HOME% ant -version

If you can't install Oracle Express XE 11g 2 on Windows...

I spent the whole afternoon trying to set up a Oracle Express instance without any success. I had the drivers installed, but I could not uninstall them. It looked like the main instance was not correctly set up. After looking around, I noticed that even after complete uninstall of Oracle XE still the ORACLE_HOME environment variable was still there. I tried again manually removing it from System Variables and then reinstalling... and it finally worked!

How could I be so stupid using hibernate criteria with timestamp?

I needed to make a query to find all records valid today for columns with effectiveFrom and effectiveTo range I spent a couple of hours trying to understand why             criteria.add(Restrictions.ge("effectiveFrom",currentDate.getTime()));             criteria.add(Restrictions.le("effectiveTo",currentDate.getTime())); was giving no results. After many trials and attempts with other criteria tricks, I remembered that hibernate is not comparting if  currentDate.getTime is greater than effectiveFrom, but if effectiveFrom is greater than currentDate.getTime So correct sintax for it was the exact opposite             criteria.add(Restrictions.le("effectiveFrom",currentDate.getTime()));             criteria.add(Restrictions.ge("effectiveTo",currentDate.getTime())); This one worked as it should 

Java ALWAYS passes by value (and it is ALWAYS an interesting discussion)

Always good as a refresher. So, when calling a method For primitive arguments ( int ,  long , etc.), the pass by value is  the actual value  of the primitive (for example, 3). For objects, the pass by value is the value of  the reference to the object . http://stackoverflow.com/questions/40480/is-java-pass-by-reference-or-pass-by-value

How I ran Gradle with cntlm

I was behind a corporate firewall and had to run gradlew (gradle) from Cygwin. The system was running a cntlm authentication proxy. I ran the following command export http_proxy=http://127.0.0.1:3128/ export https_proxy=$http_proxy Then I ran ./gradlew -Dhttps.proxyHost=127.0.0.1 -Dhttps.proxyPort=3128 -Dhttp.proxyHost=127.0.0.1 -Dhttp.proxyPort=3128 I hope it helps 

UNION makes ALL the strength

Following the advice from a very expert consultant, I changed my views from an UNION between two select from the same table to UNION ALL and the performance improvements were simply amazing. Before doing so, I had verified that the query were returning different results with the INTERSECT command before doing so. The difference is that UNION verifies that records are unique, while UNION ALL doesn't. The performance gain is very remarkable