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 […]
Lucas Jellema
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 […]
Multi Source Video in MS Teams without an actual green screen
My objective: show a video feed in MS Teams that consists of me and a combinati0n of other sources – such as desktop applications like Powerpoint, images, videoclips etc. Without using a green screen or other tools – with nothing more than a laptop with webcam. I made this work […]
Oracle Functions–Mental Picture vs. Physical Reality
Oracle Functions are the Functions as a Service (or FaaS) offering on Oracle Cloud Infrastructure. Functions are the serverless, stateless execution engines that play such an important role in cloud native applications. Functions handle requests and events, contributing to live application behavior, streaming activities and integrations. Functions are also used […]
Quickly get going with Kotlin on Windows–using VS Code as IDE
Kotlin has been on my mind. The back of my mind, but still. And apart from a very short workshop last year at Devoxx I have not really tried it out. VS Code is my preferred IDE nowadays. So I wanted to get going with Kotlin in VS Code. Of […]
Run VS Code on Linux, in a container or just anywhere–work in a browser
My colleague pointed the open source code-server project to me. This project allows you to run Visual Studio Code just anywhere – and to develop on any device. He already had it running – showing off his code development skills on a mobile phone. Of course I had to try […]
My Steps for Getting Started with Java Development on Windows
In this article a brief overview of my steps to set up an environment on my Windows 10 laptop for doing Java programming. If you follow these steps, you should be up and running with coding, building, testing and packaging Java applications on your laptop in some 20 minutes. The […]
Automated Unit Testing of Javascript Fn Functions using Jest
Crucial pieces of functionality in cloud native applications is implemented in Functions. In the case of Oracle Cloud Infrastructure specifically, the Functions framework is typically Project Fn and the implementation language of choice is … up to the DevOps team. Popular languages for implementing Functions include Go, Python, Java and […]
Oracle Cloud Infrastructure – Vault Service to generate, manage and encrypt & decrypt using Keys
The Vault service lets you create vaults in your tenancy as containers for encryption keys and secrets. Vaults are logical entities where the Vault service creates and durably stores keys and secrets. The type of vault you have determines features and functionality such as degrees of storage isolation, access to […]
Introducing OCI Data Integration – New cloud native, serverless service for ETL/ELT and Data Pipelines
TL;DR: Oracle offers a new cloud native, serverless service on OCI for data processing and ETL/ELT, called Data Integration. It seems a new incarnation of Oracle Data Integrator or even of Warehouse Builder. It provides data flows that can filter, convert, join and aggregate. It currently only supports Object Storage […]
Write debug level logs on error – print detailed logging only in exceptional circumstances
TL;DR: Collect debug information in an in-memory buffer that is printed to the output when an error occurs (and quietly discarded in all other cases). I may have come up with a useful idea. Or something that is not all that useful. Or even something that already exists (and I […]
Example of OCI Function as Resource Principal [enabled] to invoke OCI services
Resource Principal is an OCI resource that through its membership of a Dynamic Group and permissions granted through policies to the Dynamic Group is given access to OCI resources and services. Examples of Resource Principals are Function and API Gateway. A Function that is resource principal enabled can for example […]
Quickest route to Your First Handson Experience with GraalVM – Katacoda Scenario with live environment and step by step tutorial
TLDR: This Katacoda Scenario has a live runtime environment with GraalVM 20.1 prepared for you including an easy to click-through step by step scenario that does a live demonstration of most aspects of GraalVM (modern Java runtime, Ahead of Time compilation to native executable, polyglot runtime platform and the platform […]
Reading Query Parameters in GET requests to Project Fn Functions (and Oracle Functions as a Service)
TLDR: query parameters can be retrieved from the Fn-Http-Request-Url header in the ctx parameter passed by Fn to the Node function handling the request; using url.parse() on that header retrieves the url query parameters Project Fn is an open source container native serverless framework. Project Fn provides a runtime […]
Productivity Boosting features in Windows 10
I ran into a valuable 17 minute YouTube movie with tips over some useful Windows 10 features: https://www.youtube.com/watch?v=do06MPWf9E4 I created this short list as a personal reminder: Virtual Desktop – multiple desktop pages for different circumstances (per customer, technology, work and private, for specific demos or recording webinars) (Windows + […]