25 years of Java – Happy Birthday!

Birthday cakeToday 25 years ago Java made its first public appearance. Back then, Java promised to be a general-purpose programming language that you “write once, run anywhere“. It came with a new and unique way to compile Java source code down to bytecode, an intermediate representation that could be understood, compiled at runtime and run by the Java Virtual Machine (JVM). It was the combination of Java bytecode and the JVM that made it possible for Java to keep that “write once, run anywhere” promise. The Java Virtual Machine was for Java programs exactly what the name suggests, a (virtual) machine. Regardless of which computer you had, which OS you were running, if you had a JVM installed, you could run your compiled Java program on it without the need for porting or recompiling the program first.

Continue reading “25 years of Java – Happy Birthday!”

Oracle Database client libraries for Java now on Maven Central

Oracle has published its Oracle Database JDBC client libraries on Maven Central. From Apache Mavennow on you can find Oracle Database related jar files under the com.oracle.database group id. You will find all libraries from version 11.2.0.4 (e.g. ojdbc6) to 19.3.0 (e.g. ojdbc10).

Going forward, Oracle will use Maven Central as one of the primary distribution mechanisms for Oracle Database Java client libraries, meaning that you will also be able to find new versions of these libraries on Maven Central in the future.

To get the latest Oracle Database JDBC driver, use the following dependency GAV in your Maven POM file:

<dependency>
    <groupId>com.oracle.database.jdbc</groupId>
    <artifactId>ojdbc10</artifactId>
    <version>19.3.0.0</version>
</dependency>

Continue reading “Oracle Database client libraries for Java now on Maven Central”

Building the world’s largest Raspberry Pi cluster

Oracle’s Raspberry Pi Supercomputer, the largest Raspberry Pi cluster known to exist, got awarded one of the Top 10 Raspberry Pi Projects of 2019 from Tom’s Hardware.

Here is its story.

Oracle Raspberry Pi Supercomputer
Image credit: ServeTheHome

Continue reading “Building the world’s largest Raspberry Pi cluster”

MuShop – A cloud-native reference app for Oracle Cloud

MyShop RunningMuShop is a cloud-native reference showcase app of several Oracle Cloud services. The app implements an e-commerce site for cat products built as a set of Microservices. The name MuShop leans on the term Microservices: Microservices –> μ –> Mu –> Meow –> MuShop. The code itself is hosted on GitHub. There are two implementations of MuShop, one is the Basic Deployment which runs entirely on the Oracle Cloud Free Tier. The other one is the Complete Deployment which is deployed on a Kubernetes cluster such as Oracle Kubernetes Engine (OKE). In this post, I will cover the Basic Deployment of MuShop.

Continue reading “MuShop – A cloud-native reference app for Oracle Cloud”

Apple AFP to SMB migration: Removing .AppleDouble and ._ files and converting file names from Unicode NFD to NFC

I recently wanted to reconfigure my NAS from Apple’s AFP (Apple Filing Protocol) to “regular” SMB (Samba), given that there appeared some non-Mac devices at home lately. :O I thought of it as a simple “turn off the one protocol and turn on the other one” reconfiguration, but after doing so, to my surprise, I discovered that some files went missing. The strange thing about it was that when looking at the same folder via SMB from my Raspberry Pi, the files were there and I could happily read them, but then looking at the same folder via AFP or SMBon my Mac, the files were gone. On the verge of going mad, I turned to a high-scale googling effort, trying to figure out what went wrong. The information out there was so sparse that I decided to document this nightmare of a network file system admin to hopefully save others a few grey hair…

Continue reading “Apple AFP to SMB migration: Removing .AppleDouble and ._ files and converting file names from Unicode NFD to NFC”