Ultra fast, ultra small Kubernetes on Linux – K3S beating minikube

imageThe easiest way I knew for running a local Kubernetes cluster was minikube. It installs like a breeze and creates a fresh clean cluster with minimal effort on my part. Sure, it takes a while to get going and uses quite a bit of system resources, but it performs quite a feat. I am quite fond of it really.

Last week I learned about k3s (https://k3s.io/) – light weight Kubernetes, for Linux (more...)

The state of Java [developers] – reflections on Devoxx 2019

I attended Devoxx Belgium – November 2019. The yearly gathering of over 3000 Java developers (numbers provided by Devoxx website). Maybe not all of them Java and perhaps some not even developers. But by and large … Java and software development are the core themes.


This conference has taken the place of JavaOne as the premier venue for the Java community – to exchange ideas, make announcement, promote open source projects and win the hearts (more...)

Using Elastic Stack, Filebeat and Logstash (for log aggregation)

In a previous article I described how I used ElasticSearch, Filebeat and Kibana, for log aggregation (getting log information available at a centralized location).

In this article I will talk about the installation and use of Filebeat in combination with Logstash (from the Elastic Stack).


One popular centralized logging solution is the Elasticsearch, Fluentd, and Kibana (EFK) stack.


Fluentd is an open source data collector, which lets you unify (more...)

Node JS application running on GraalVM – interoperating with Java, Python, R and more

When you install GraalVM, one of the things you get is a Node runtime environment (GraalVM 19.2.1 is based on Node 10.16.3 – with support for the core Node libraries and un understanding of NPM modules – and has a JavaScript engine that is ECAMScript 2019 compliant). Instead of V8, the usual JavaScript execution engine, this GraalVM environment leverages GraalJS and the JVM as execution platform. GraalJS runs Java Byte code (more...)

Switch off Screen Lock on Ubuntu Bionic Desktop

I am running an Ubuntu VM on Virtual Box. A guest running inside a host system. I am getting quite annoyed with Ubuntu locking the screen quite aggressively. Since the host OS probably already runs screensaver and screen lock, I want to switch off the screen lock in the Ubuntu Guest. I searched a little in order to learn to use `Settings | Privacy | Screen Lock | Automatic Screen Lock Off`.


Then there is (more...)

State management in serverless functions – connection pooling in AWS Lambda leveraging memoized functions

The problem

Setting up a datastore connection is an expensive process. The amount of available connections is often limited and creating a connection costs precious time – and and in serverless functons time literally means money. Especially in something like an event processing Lambda, where thousands of events can call your function within a couple of seconds you would rather not set up a connection for each individual invocation. Thankfully, you don’t have to! By (more...)

Python application running on GraalVM and Polyglotting with JavaScript, R, Ruby and Java

GraalVM is among other things a polyglot language runtime. It can run applications written in many languages – JVM languages like Java, Scala, Groovy and Kotlin as well as non-JVM language such as Python, R, Ruby, JavaScript and LLVM. GraalVM also allows applications in any of these languages to execute code snippets written in any of the other languages it supports. It is like the cab driver that can speak many languages and also is (more...)

Oracle Integration Cloud pricing explained – OCI vs Classic

Last week at AMIS we had the task of estimating costs of a proposed iPaaS solution for one of our customers that runs on a fully managed cloud. As AMIS is mainly an Oracle partner we looked at how competitive we could make the pricing of the solution using Oracle Cloud compared to other vendors. In this blog I will not go into much details of this vendor compare matrix, as I want to focus (more...)

Creating a Custom Plugin in Grafana using React

With Grafana you can create dashboards for monitoring metrics, like status and health of IoT devices. Several types of visualizations are already available when developing the dashboard. If the choices aren’t sufficient, Grafana supports the ability to add custom plugins. In this post I will create a custom plugin in React, which can be used in Grafana, in order to show data in a nested tree view.

Grafana setup

The basic setup for Grafana is (more...)

Create a Native Image Binary Executable for a Polyglot Java Application using GraalVM

imageGraalVM provides a runtime component that enhances the JVM in several ways. It makes the JIT compilation better. It also allows the JVM to run non-JVM languages such as JavaScript, R, Python, Ruby and LLVM. And it makes it possible for languages running on the JVM to interact – through the polyglot interoperability. Another valuable capability of GraalVM is called native image generation. This feature allows us to use Ahead of Time Compilation of a (more...)

Changing the configuration of an Oracle WebLogic Domain, deployed on a Kubernetes cluster using Oracle WebLogic Server Kubernetes Operator (part 2)

At the Oracle Partner PaaS Summer Camp IX 2019 in Lisbon, held at the end of August, I followed a 5 day during workshop called “Modern Application Development with Oracle Cloud”. In this workshop, on day 4, the topic was “WebLogic on Kubernetes”.

At the Summer Camp we used a free Oracle Cloud trial account.

On day 4, I did a hands-on lab in which an Oracle WebLogic Domain was deployed on an (more...)

Oracle Database: Write arbitrary log messages to the syslog from PL/SQL

Syslog is a standard for message logging, often employed in *NIX environments. It allows separation of the software that generates messages, the system that stores them, and the software that reports and analyzes them. Each message is labeled with a facility code, indicating the software type generating the message, and assigned a severity level.

In *NIX systems syslog messages often end up in /var/log/messages. You can configure these messages to be forwarded to remote syslog (more...)

Leverage NPM JavaScript Module from Java application using GraalVM

imageInteroperability from Java to JavaScript has been an objective for the Java community for quite a while. With GraalVM, there is great way to run JavaScript code from within Java applications. The interaction itself is faster, more robust and more ‘native’ (rather than bolt-on) than earlier mechanisms. For developers, the interaction is easy to implement. And this opens up great opportunities for leveraging from Java many of the great community resources in the JavaScript community (more...)

Calling out from Java to JavaScript (with call back) – leveraging interoperability support of GraalVM

imageInteroperability from Java to JavaScript has been an objective for the Java community for quite a while. With Rhino and later Nashorn, two valiant attempts were made to add scripting interaction to the JDK and JVM. Now, with GraalVM, there is a better alternative for running JavaScript code from within Java applications. The interaction itself is faster, more robust and more ‘native’ (rather than bolt-on). For developers, the interaction is easier to implement. And as (more...)

Getting started with Windows Subsystem for Linux, Ubuntu and Docker

Starting with a vanilla Windows 10 environment, it took just a few simple steps to get going with Linux on my Windows machine in the Windows Subsystem for Linux (WSL). Note: this is not yet Version 2 of wsl which is currently in (limited) preview

  • install Ubuntu App from Windows App Store
  • enable Windows Linux Subsystem feature
  • run Ubuntu (in elevated mode – as Windows Admin)
  • create Linux user
  • update Ubuntu (optional)
  • do your Linux (more...)
  • Oracle Ground Breakers Appreciation Day – Something about Weblogic….

    Our most appreciated Oracle ACE Director Tim Hall organizes this yearly initiative, with this years name Oracle Ground Breakers Appreciation Day, and appointed this day to blog about our favorite Oracle Technology, Service or sub-community.

    Last week I presented the 'Oracle Kubernetes Managed Weblogic Revival', the introduction of the Weblogic Kubernetes Operator opens the future for Weblogic.

    This week I deliver our Weblogic 12c Tuning and Troubleshooting training for ATOS The Netherlands in Groningen. So, (more...)

    SOASuite Composite Sensors: the why and how…


    Long time ago BPEL PM was acquired by Oracle, and as part of the first release of SOA Suite (10g), it was a more or less standalone component. For initiated BPEL flow instances in the soa infrastructure database there were 2 tables:
    1. cube_instance: bpel flow instances
    2. ci_indexes: 6 indexes related to the bpel flow that can be set with an embedded java call

    These 2 tables store the BPEL instances, along with a set (more...)

    Weblogic under Kubernetes: the weblogic topology of the future

    Already 4 months ago I attended the PaaSForum 2019 in Mallorca. As every year it was great to meet members of the big EMEA Oracle Partner family.

    And of course a lot of interesting talks and workshops. This year I was especially interested in announcements around SOA Suite and Project Helidon as a Microservice framework. But certainly also Weblogic under Kubernetes.
    And actually, to me, the Kubernetes Weblogic Operator that was this years most enthusing (more...)

    Making an IoT Badge – #badgelife going corporate

    Code Card 2018

    Editor’s note:  Noel is the last man standing from the AppsLab to work at Oracle. He created this project while being part of the Oracle Groundbreakers Team. The rest of the original AppsLab team members are now scattered throughout different companies in the tech sector.

    For years I’ve been wanting to create something fun with the almighty esp8266 WiFi chip. I started experimenting with the esp8266 almost exactly four years ago. Back then (more...)

    Developing concept products that embrace emerging technologies

    Editor’s note: For posterity’s sake, I’m reposting some content that we created during our time at Oracle. These statements and views are those of the author and do not reflect those of Oracle’s current user experience organization.

    Developing concept products that embrace emerging technologies

    Working with emerging technologies brings unique challenges for developers. There are few to no users out there one can ask about requirements.

    The AppsLab, the Oracle Applications User Experience (OAUX) emerging (more...)