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 […]
Lucas Jellema
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 […]
The Release Formula: R = ΔF + ΔNF + ΔQ
TL;DR: a software release introduces changes in three areas: functional, non-functional and quality. Each change should contribute to identified objectives – and the contribution should be measurable. Product teams should strive for release statements that identify the changes, the objective they contribute to and the metric used for measuring their […]
The True Cost of a Feature–Kill your darlings
TL;DR: the true cost of a software feature includes a long tail of operational and maintenance cost that should be taken into consideration when first implementing the feature. The continuance or deprecation of features should be evaluated periodically, based on the actual usage and true value of the feature – […]
Polling Rank – Interactive Visualization Component for Ordering Options
TL;DR: live demo of the Poll Rank component on Code Pen: https://codepen.io/lucasjellema/pen/NWpoBeM Bringing things to order is a common requirement. Making clear how things are mutually ordered, which comes first and which comes next, is often relevant. Order by value, by time or by preference are just some of the […]
Visualizing Recipes in aid of Freshman Cooks
I am not the best cook in the world – it has been said. But I am making an effort to step up my game. My two sons have started participating in our family’s meal planning and with the rising quality and complexity of the meals they prepare I feel […]
Implementing Serverless Multi Client Session Synchronization with Oracle Cloud Infrastructure
TL;DR – Multi Client Sessions can be facilitated in a fully serverless fashion. Two players playing Tic Tac Toe or Chess, teams collaborating on a document or diagram, an audience witnessing a presenter’s demonstration – these are just examples where multiple distributed application instances should be kept in synch. This […]
Serverless Distributed Multi User Browser Session Synchronization
Assume a browser based (or desktop electron) stand alone, client side only application. Multiple users are working with that application at the same time, on their own laptops and at (possibly very) different locations, possibly across the globe. It is conceivable that they are working on a common object. A […]
Introduction to D3 Force for Simulation and Animation
The D3 library is great for creating rich and interactive data visualizations running in your browser. D3 is a JavaScript library that provides an easy bridge between the power of SVG (Scalable Vector Graphics) in the browser and your (and my) own JavaScript applications. Whether you use React, Angular, Vue […]
Starting my own Game Studio–on the ease and the power of SVG
My very first steps in programming consisted of typing in the BASIC program listings from computer magazines. Usually very simple games with very poor UX. That probably is the closest I got to “creating” games. And then I went into computers professionally – with a primary focus on the backend, […]
Executing JavaScript from PL/SQL in Oracle Database 21c with Multi Language Engine
Oracle Database Release 7 – end of 1993 – introduced PL/SQL as language for Stored Procedures, Functions and Triggers. This was just before I joined Oracle Corporation, in May 1994. I have made extensive use of PL/SQL. With Oracle 8i we saw the advent of the Embedded JVM that made […]
How to build [a CI/CD pipeline for] an Oracle Database application–kicking off a six part series
Build is an overloaded term in the world of software engineering. Building software used to be mainly a fancy way of saying “programming”. Now after the construction of the code, the actual build process is kicked off, that takes the work from the individual programmer and turns it into something […]
How to unit test a SQL query?
A simple challenge: I am working on a SQL query. Not a trivial query. I am trying various approaches. I believe I may have found a solution that works. That produces the correct solution. How can I be sure? How can I try to further refine the query while maintaining […]
SQL–Only Counting Records Sufficiently Spaced apart using Analytics with Windowing Clause and Anti Join
A nice SQL challenge was presented to me by a colleague. The challenges basically consisted of this table. A table contains records that describe login events. Each record has a login timestamp and the identifier of the person logging in. The challenge is to count “unique” login events. These have […]
The Prototype Pitfall
TL;DR Prototyping is an essential way to determine the technical feasibility and functional desirability of features of a software system. There is a clear and present danger that the prototype is considered to be professional code, peer reviewed and production ready. This risk must be mitigated and anyone involved needs […]
Building my own Video Recorder–Automating Scheduled Streaming Video Recording on Windows 10
My objective: create a mechanism for recording streaming video on my Windows laptop on a preprogrammed timestamp and channel. My motivation: show that I can do this (using AutoIt, OBS, Windows Task Scheduler an Windows Sandbox) and create a way around the limitation of my current TV provider (Ziggo in […]
Schedule Spotify Good Morning Playlist–using AutoIt and Windows Task Scheduler
I would like to have my Spotify playlist played to me every morning at 8AM sharp. Using the Windows Task Scheduler and an AutoIt script I can have the Spotify App started and subsequently automate the steps to run my preferred Spotify playlist. I can even wake my computer up […]
Capturing those elusive Video Streams on Windows 10
I have tried to capture various video streams running in my browser using a plethora of screen capture and video recording tools. However, some streams prove hard to pin down. When I activate the recording tool – all of a sudden the video goes blank or black. And my recording […]
Automating actions on Windows – my first steps with AutoIt
I recently spent quite some time on getting to know Playwright – a great tool for automating virtually any operation performed in a browser. Playwright is great for automating testing web applications as well as for screen scraping (for data), tactical integration, RPA, prototyping and even customizing third party applications […]
Create OCI Function running a Playwright scenario
TL;DR – How to create a Function on Oracle Cloud Infrastructure that uses the Playwright library for running headless browser scenarios, for example for Web UI Health Check and Performance Monitoring, for tactical integration and simple RPA and for web based reporting. The article shows a custom Docker container image […]
Quickly Run NodeJS Demos in Vanilla Windows Sandbox featuring Scoop
TL;DR – this article describes how Windows Sandbox can be used to prepare a well known environment for demonstrations, tutorials, tests etc. Scoop is a great package manager for quickly installing Windows packages (Node runtime, Git client, VS Code editor, …) into the Sandbox. I have applied these concepts to […]
Run Automated Step-by-Step Browser Scenarios for Instruction or Demo from NodeJS applications with Playwright
TL;DR; Run demonstrations or instructions of browser actions. Allow the user to pause and skip acts, and to reset and switch scenarios. Allow the user to interact with the browser before, after and during the scenarios. The open source Playwright library is used from a custom NodeJS application in which […]
Inject Generic Floating Toolbar into Any Web Application or Site using Playwright
The objective I am pursuing is the following: I want to be able to open a web site or web application and show a floating toolbar on top of the web site’s content. As I am making my way through the site or application, I can use functions from the […]
Use Playwright to Inject Shortcut Keys into Any Web Page – for example to download all images
Adding a short cut key combination to a web application or web site can be quite powerful. When the short cut key combination is activated – things can happen. Things that you have defined on top of everything the web application already offers. In this article I describe how I […]
What you could do if you had a free, tireless browser operator?! Introducing Playwright.
Browsers are our primary platform for running applications and retrieving information. We have to use browsers to test applications, verify health and current performance of applications, look up data and download (as) files, submit information, and do much of our daily work. Suppose we had a new colleague – who […]
What if companies say: “help me move away from Oracle”?
I hear this aspiration from a growing number of organizations. Sometimes as a quite literal question. This however is merely half of a wish. Apparently, organizations want to quite with one thing — but have not yet stipulated what they desire instead. What is the objective that is pursued here? […]
First code and cli free steps with Oracle Database 21c in Oracle Cloud
Oracle Database 21c has been released – for now only in the cloud. Starting to explore – that is what we call playing with it – it easy and free of any charge in the OCI Always Free Tier that includes two Oracle Database instances that now can be 21c […]
Another week of learning – some fairly personal notes
One of the best parts of my job is the opportunity to learn all the time. A day to loved is a day not lived, a day not laughed is day not lived and a day not learned certainly for me also is a day not lived. There seem to […]
Quickest way to try out Jupyter Notebook: zero install, 3 CLI commands and 5 minutes to action
This brief article shows you the quickest way to trying out Jupyter Notebooks. It will not try to persuade you that you should try them out. You probably know that already. It will not show a complex Notebook in detail – plenty of those are available. It simply tells you: […]
Getting Started with serverless Azure Static WebApps (React, Angular, Vue, .. + backend)
Azure Static WebApps is a fairly new Azure service, currently in preview. Azure WebApps is a managed, serverless service that allows us to quickly deploy and publicly expose a static web application (from a global content delivery network) – such as single page applications as created using Angular, React, Vue […]
OpenAPI Support in Oracle API Gateway
Today I read the announcement of OpenAPI (fka Swagger) support in API Gateway on OCI. I was wondering what that entailed and I decided to try it out. In short, this support means that an API definition can be uploaded to API Gateway, is validated for correctness and can be […]
Get going with automated CI/CD on OCI in Visual Builder Studio
The Oracle Developer Cloud Service was probably the very first service on Oracle Cloud, as early as 2015 if I remember correctly. This service has been repositioned and relabeled as Visual Builder Studio. This service supports agile project management, source code control, artifact management, automated builds, software quality checks, CI/CD […]
Run SonarQube on OCI– 10 minutes to get going using Docker Container on always free VM
In this article I want to describe how I run a SonarQube instance (that I intend to use from my automated CI/CD pipeline) on OCI, using a simple VM and a simple Docker container image. The VM gets a public IP address and I need to SSH into it in […]