For the Open Day we organize shortly for our family, friends, neighbours and other interested parties, my colleagues create a custom web application to support our QR Scavenger Hunt through the offices and surrounding premises. This (progressive) web application is created using JHipster – leveraging Java, Angular, Spring, PostgreSQL and […]
Lucas Jellema
Run "docker-compose" on Oracle Cloud Infrastructure Compute using Podman
Running “docker compose” in a VM on Oracle Cloud Infrastructure is perhaps not the ideal way to go – which probably would be OKE (Kubernetes) in order to benefit most from modern container infrastructure features and leverage the underlying VMs the most. However, sometimes falling back on what works and […]
Pseudo Change Timestamp–Finding recently changed table rows using Flashback Version Query to provide a surrogate last_changed column
My challenge: replicate changes from database A to database B, once per day. The tables involved are pretty big (100M records). I really would not want to process them all into database B. However, the tables do not have a LAST_DATE_MODIFIED column that has a timestamp that is updated with […]
Quick Start with initially free Low Code Front End Development using Retool against ElephantSQL PostgreSQL
Front end development can be an art. An almost pixel by pixel design, a careful crafting UX or even CX. And there is a time and place and technology set for that. And there is a range of front end applications that may not require or even justify that same […]
Quick start with free managed PostgreSQL database on ElephantSQL
This article shows you can quickly get started with a free, managed PostgreSQL database with a table full of country data (using ElephantSQL). ElephantSQL is a hosted, managed PostgreSQL service from the team that also provides CloudKarafka and several other nice services. It is a breeze to get going. The […]
Supabase for Persistence and Server to Client Push in Vanilla HTML/JavaScript web application–a step by step guide
Supabase provides a cloud based backend service to web applications. That means that any (static) web application can use Supabase for user authentication and data persistence. Supabase provides a server to client) push notification service and it has server side serverless functions that can for example handle web hooks (triggers […]
Steampipe–analyze data from cloud, file, platform, IaC using SQL queries
In our daily work we are dealing with data from many sources. Data in CSV files, from Cloud APIs, in mail servers, configuration files, Terraform plans, in logging systems, source code repositories and many more. Different formats, access methods, tools. And retrieving data from one such source can be challenging […]
Creating a minimal container image for a Go application
How hard can it be – to create the smallest possible container image to run a Go application? It is not hard to create a container image that contains an binary executable file – and that is what a Go application turns into during the build process. However, that does […]
WebSinker–generic event detection for unhooked systems to trigger WebHook
Quite a few systems – business applications large and small – do not have support for WebHooks. That is: they do not offer the ability to register a URL as HTTP endpoint (WebHook) that the system will send requests to that inform the endpoint about relevant events. However, there are […]
Brief: What is Oracle Wallet?
An Oracle Wallet is an encrypted file that contains database credentials – username and password – for connecting to an Oracle Database. This avoids writing hard code user passwords in a shell script or in an application database configuration file. A wallet can also contain certificates – for example for […]
Marrying Fn Functions to Dapr.io–leverage the power of the proxy
Project Fn provides a framework for creating and running serverless functions. It is the foundation for the Functions service on Oracle Cloud Infrastructure. Dapr.io is an open source project that provides a powerful personal assistant for any application and a distributed application runtime that especially shines with microservices. Some aspects […]
Query Past Generations in Oracle Database SQL – PI Day Special
Today is PI Day. March 14 or: 3-14 in the US. Of course it can be March 14th 2015 – 3-14-15 – only once but for some reason March 14 is baptized PI Day and is not unlike April Fool’s day the international day for nerdi stuff. You may want […]
Update Go on Linux
It turned out to be a fairly small deal. For reference sake a brief write up of updating the Go runtime on my Ubuntu environment. Current version: go version Find latest releases of Go at https://go.dev/dl/ There is a new one. I copy the link and then run: wget https://go.dev/dl/go1.17.6.linux-amd64.tar.gz […]
Connecting Go application to Oracle Database–On Prem and Autonomous , with and without Oracle Client libraries
I have been struggling a bit with this one: how to connect from a Go application to an Oracle Database – both a locally running database as well as an Autonomous Database Instance running on Oracle Cloud. Ideally, my application does not require Oracle Client Libraries to be installed in […]
Dapr and Kafka–easy binding
Dapr is a runtime framework for distributed applications. Dapr also provides a personal assistant to any application and environment that offers standardized access to different facilities (state, secrets, configuration, pub/sub, actors) and technologies. Simply by using Dapr we can leverage a large number of Dapr components that through the Dapr […]
Quick Start Compute Instance on OCI (for software development)
I have worked quite a bit in Oracle Cloud, starting back in 2015. I have used many different OCI services – such as Integration, Streaming, Functions, OKE, API Gateway, Object Storage, DBaaS and several more. However, for some reason I have almost complete avoided the almost simplest service of all: […]
Oracle Cloud Go SDK and Instance Principal based Authentication
In a recent article, I described the use of the OCI SDK for Go(Lang) – in my example to interact with the ObjectStorage service. In the article, I used authentication based on tenancy and user ocid, fingerprint and private key. However, when the Go application is running in an OCI […]
Did I really just commit and push a file with a password in it?–Remove all traces of pushed Git commit
Surely I would never be so stupid as to commit a file that contains sensitive information – say my Oracle Cloud account’s private key. And even if I did, I would not push that change to a public git repo on GitHub, would I? It turns out that I did […]
Submitting my Custom Dapr State Component as a formal Open Source Contribution–work in progress
I have used many open source products in my professional life. I have not studied the sources of many of these products and projects. My main contributions to the open source community consisted of presentations (many dozens) and articles (many 100s) in which I have spread the word. I have […]
Composing DAPR Custom State Store Component for Oracle Cloud Object Storage
Dapr is a runtime framework for distributed applications as well as a personal assistant with many generic qualities relevant to any application. Through Dapr, applications can easily benefit from configuration and secret management, from interacting with dozens of external technologies in both inbound and outbound direction, from having messages received […]
Interacting with OCI Object Storage using Go SDK (first steps)
I am still fairly new at working with Go. I have the ambition of working with and perhaps even on several open source projects that all use Go as their implementation language. It seems like the number of open source projects that use Go is increasing [rapidly]. It seems that […]
Extending Local Dapr Development Environment for Custom Components
In a previous article I described how I prepared my local development environment from working with the source code of the Dapr project – locally editing, building and running customization on Dapr. This is a prerequisite for creating custom Dapr components – as is my true intention. In this article […]
Customizing Dapr–preparing my environment
In other articles I will write about the value of Dapr – as a personal assistant to any application that helps out with state, configuration and secrets, receiving inbound messages, publishing messages and invoking services and that supports microservice architectures through a network of closely collaborating personal assistants to all […]
Dapr on OKE–Distributed Application Runtime on OCI Kubernetes Engine
One of the most exciting frameworks I have ran into into recent years is Dapr (dapr.io) – distributed application runtime. Dapr is a cross technology runtime framework that supports applications in many and The Dapr docs describe how to install Dapr locally and on a Kubernetes cluster. The documentation explicitly […]
Dumb pipes, smart endpoints–the Post Filter, the register to stop unwanted mail
Many people receive mail at their front door that they do not want to receive. Commercial mail, mail from companies they may perhaps made enquiries with long ago, mail addressed to people who used to live at the address. Mail that should be blocked – like email ending up in […]
Getting started (again) with Kubernetes on Oracle Cloud
For many of my recent activities, I have not worked with or even on (knowingly at least) Kubernetes. So for many months I have not touched my OKE cluster on Oracle Cloud. However, in the last weeks, I have run into so many interesting things to dive into – that […]
Run and Access GUI inside VS Code DevContainers
VS Code DevContainers allow us to easily configure and run a container with our development tech stack for the specific project or product we are working on – and have that fully integrated with our VS Code development environment. It does so leveraging Docker Desktop and WSL2. With just a […]
Getting started quickly with querying OCI from Terraform in Cloud Shell
Terraform is all about infrastructure (and platform) as code. Creating OCI resources through Terraform is probably the best way to manage your cloud resources. I have written several articles about that. In this article I will quickly show the steps you can take for querying OCI resources using Terraform – […]
OCI DevOps Composite–creating Build & Deploy Pipeline resources using Terraform plans
I recently started a GitHub repo with Terraform plans for the creation of what I call OCI Composites – combinations of resources that will frequently be used together and that will have to be created through Infrastructure as Code. My first entry in this repository was the composite of Function, […]
VS Code Extension–GistPad–for quick gist creation, editing and consumption
Gists are the code snippets that you want to retain and share – with yourself and with others. Gists can be embedded in websites, blog articles and articles on Medium. Although used for snippets, all Gists are Git repositories, so they are automatically versioned, forkable and usable from Git. A […]
Creating, Building and Invoking a Function on OCI with Terraform
Automation through infrastructure as code is the name of the game. And I am a player in that game. In the last few weeks I have spent a lot of time on creating resources on Oracle Cloud Infrastructure. Through the console, using Terraform and the Resource Manager and Stacks, with […]
Visual Studio Code–the Code Tours extension for in context and interactive readme
The most popular IDE – VS Code – comes with a ton of extensions, and each can make life easier, more productive and more fun for developers. Recently I came across the Code Tours extension. An extension that supports the creation of guided tours through the files in your VS […]
OCI DevOps Build Pipeline for Functions
Oracle Cloud Infrastructure offers the Functions service, a FaaS offering with serverless functions, based on container images built with the Project Fn FDK. In a previous article, I introduced the OCI DevOps Deployment Pipeline for Functions – a free service on OCI that automated the deployment of a Function from […]
OCI DevOps Deployment Pipeline for Functions–automation on Oracle Cloud
Oracle Cloud Infrastructure has a free DevOps cloud service that includes build and deploy pipelines in addition to source code and artifact repositories. I have written about OCI DevOps Deployment Pipelines and its Build Pipelines in earlier articles. In this article, I will show you a deployment pipeline on OCI […]
How to open IDCS Console from OCI– Finding the entry to Identity Cloud Service
I have just spent way too much time on finding the way to the Oracle IDCS console from within my OCI (Oracle Cloud Infrastructure) console. I was reading a bunch of interesting articles on using IDCS to protect access to OCI Functions and I was trying to follow along. However, […]
Simple queries against Oracle Cloud NoSQL Database
I have been struggling in my first simple steps with querying data in a NoSQL Database table on Oracle Cloud. Creating the table is easy enough – either in the console or through Terraform or the CLI. However, the data that my Node application creates in the table seemed very […]
Cleaning Out a Compartment on Oracle Cloud using Terraform provider
The situation: a Compartment on OCI should be removed. Or at least all its resources should be purged. Or at least most of the resources should be removed. The challenge: there is no “purge compartment” available that will delete the resources in the compartment. Removing each resource one by one […]
OCI DevOps–Build Pipelines and Code Repositories for CI
This article introduces Build Pipelines and Code Repositories in OCI DevOps (released on October 26th 2021) – complementing the Artifact Registry and Deployment Pipelines that were first launched in July of 2021 and that I discussed in this article. Build [ing software] is an apparently clear indication of a specific […]
OCI DevOps–Free Automated Cloud Native Application Deployment to Oracle Cloud
Deployment is a term used frequently and often casually in software engineering. A term that for a long time was a bit cryptic to me. What exactly is deployment and what steps does it entail? Why is it apparently so hard? What help do deployment tools offer? And what is […]
Scaling [down] the Mountain of Debt – Four dimensions of IT Debt
WYSIWYG may not be true for all IT systems. What you see may be more than what you actually get. As a Product Owner, you have to be very careful to not deceive yourself. The latest iteration of your product may be shiny and new – but all may not […]