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 to be very aware of what a prototype is and even more of what it is not.

A prototype of a car is typically easily recognized for what it is. It has no engine or lacks all kinds of details. Or it is clear at least that it was largely…

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 The Netherlands) that does not support recording programs any longer and offers on demand viewing for only a limited number of channels. I have a personal need for an easy way to make a recording of interesting programs and watch them at my convenience.

My code:

Some challenges:

  • streaming…

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 in order to start executing the task. In this article I show you how to do this.

In my previous article I introduced AutoIt — what it is, how to install it and how to get going on Windows 10.

Write the AutoIt script for Running the Spotify App

AutoIt can perform desktop actions. Such as run a program…

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 for my personal use. I am now looking to extend my NodeJS/Playwright programs — that execute in the context of browser based applications — with a complementary tool for automating tasks on Windows.

One thing I would like to be able to do is schedule my NodeJS/Playwright applications to be…

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 based on a community container image for headless chrome and Playwright with a custom Node application that interacts with the Google Translate web ui; the Project Fn hotwrap utility is added to this image to provide the bridge from the OCI FaaS serverless function framework based on Project Fn to…

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 a series of somewhat complex demos around the Playwright library — but the generic approach is applicable in many circumstances.

Windows Sandbox to me is a light weight Windows 10 virtual machine that I can quickly start and stop and use to install and run programs. The Windows Sandbox provides…

Allow the user to interact with the browser before, after and during the scenarios.

The demonstration in this article shows three scenarios (The Netherlands, France, UK). Each country is introduced — using specific pages and sections on Wikipedia as well as through supporting sites. A callout is used to explain the scenario and each act. Balloon texts are used to further guide the user,

Image for post
Image for post
Using Playwright — the vanilla Wikipedia site has been extended with a toolbar for managing a scenario, a callout to provide context and balloon text for in situ support for the end user

This screenshot shows the beginning of the scenario Tour of The Netherlands, act one. The user presses Play, the callout is shown, the balloon text is shown for the query field and Playwright starts typing the characters of “The Netherlands” in the search field.

The animation below shows the full…

The objective I am pursuing is the following: I want to be able to open any web site or web application and have my own 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 toolbar — such as taking a snapshot of the current page state and saving it to file, downloading all images in the current page, fill in the form fields using predefined or random values and start a demo.

Image for post
Image for post
My own toolbar floating in the context of various well known web sites — injected through Playwright, ready for some action.

In various prior articles I have discussed Playwright — an open…

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 have used Playwright to inject a short cut key combination into a web site. This hotkey — activated by simply pressing ctrl+b — runs a function that downloads all images in the current browser context to the local file system. The function that is executed is a Node (JS) function…

Lucas Jellema

Lucas Jellema is solution architect and CTO at AMIS, The Netherlands. He is Oracle ACE Director, Groundbreaker Ambassador, JavaOne Rockstar and programmer

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store