Category: Niveau expert

Calculating HMAC SHA-1 in the Browser

If you’re looking for the equivalent of hash_hmac(‘sha1’, ‘string’, ‘secret’); in JavaScript, then here you go: async function hmac_sha1 (str, secret) { // see https://stackoverflow.com/a/47332317/1134119 let enc = new TextEncoder(“utf-8”); let key = await window.crypto.subtle.importKey( “raw”, // raw format of the key – should be Uint8Array enc.encode(secret), { // algorithm details name: “HMAC”, hash: {name: […]

Deploy a PCF NodeJS app as a scheduled task

I have a NodeJS app that runs as a process and that executes a task every 15 minutes using node-schedule. We first need a manifest.yml file that contains: — applications: – name: APP-NAME buildpack: nodejs_buildpack no-route: true health-check-type: process env: OPTIMIZE_MEMORY: true The no-route parameter is true so that we don’t get a route assigned, […]

Power Automate: execute a SQL Query via On-Promise Gateway

In Power Automate, when you want to connect to a SQL Server and if you have a On-Promise Gateway, then you cannot use the command “Execute a SQL Query” because it will say it’s not currently supported. There is a workaround with “Transform data using Power Query” (ATTENTION: you cannot load it from a flow […]

Pass an URL parameter to a SharePoint Online form’s field

The only way to pass a URL parameter to a SharePoint Online (modern design) form’s field is to use PowerApps (at least, if you cannot add any JS on your website!). Important warning: when you use PowerApps to manage your form, all edits to the list settings won’t reflect to the PowerApps form. For example, […]

Transfer an Alexa AWS Lambda function from the online editor to the ASK CLI

When we follow the guide to build a new smarthome skill, it gives the steps to create a function in the online code editor. But if you prefer to use the ASK CLI, there is some steps to follow… I first create a fake skill with ask new (using the “hello world” and “AWS Lambda” […]

Debug a third party Android APK

(inspired by this blog post) 1) Install smalidea plugin Download the smalidea plugin (see also the related Github Repository). Open up Android Studio and you should see the welcome screen like the one on screenshot below (if not, close your current project by selecting File -> Close project), go to the Plugins section, and from […]

Capacitor Plugin for HTTP requests with self-signed SSL certificates

I’m using CapacitorJS for easy development with Android. I needed a way to do an HTTPS request to a box that uses self-signed SSL certificate. To accomplish it, I created my own capacitor plugin. See this wiki page for details: https://github.com/Aymkdn/assistant-freebox-cloud/wiki/Capacitor-Plugin-for-HTTP-requests-with-self-signed-SSL-certificates

Let’s Encrypt Certificate: how to remove a domain from a certname that contains several domains

My server manages several websites with different domains using Apache. The first time I used Let’s Encrypt I followed the default command which has created one certname for ALL my domains. Now I want to remove just one domain from this certificate, and it becomes complicated to understand how to do it. The best solution […]

Upgrade from MySQL (5.6.40 – Debian 9.12) to MariaDB

(Source) A few steps: sudo apt-get install software-properties-common dirmngr wget -qO – https://mariadb.org/mariadb_release_signing_key.asc | sudo apt-key add – nano /etc/apt/sources.list.d/mariadb.list In mariadb.list we add the two below lines: deb [arch=amd64,i386,ppc64el] http://mirror.23media.de/mariadb/repo/10.4/debian stretch main deb-src http://mirror.23media.de/mariadb/repo/10.4/debian stretch main Then: apt-get update apt-get install mariadb-server

Sharepoint REST API to index a column or delete a column and more…

Due to the 5,000 items threshold limitation it can become very frustrating to administrate Sharepoint. For example, if your list has more than 5,000 items, you cannot add an index, delete a lookup/people column, delete the list or the website, and more ! Hopefully some of the operations can be done with REST API, and […]