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...)

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...)

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...)

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...)

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...)
  • Get going with Project Fn on a remote Kubernetes Cluster from a Windows laptop–using Vagrant, VirtualBox, Docker, Helm and kubectl

    | Mar 4, 2018


    The challenge I describe in this article is quite specific. I have a Windows laptop. I have access to a remote Kubernetes cluster (on Oracle Cloud Infrastructure). I want to create Fn functions and deploy them to an Fn server running on that Kubernetes (k8s from now on) environment and I want to be able to execute functions running on k8s from my laptop. That’s it.

    In this article I will take you on a (more…)