Skip to content

Instantly share code, notes, and snippets.

View MarcelloTheArcane's full-sized avatar
🍄

Max Reynolds MarcelloTheArcane

🍄
  • United Kingdom
View GitHub Profile
@MarcelloTheArcane
MarcelloTheArcane / waitForElementToExist.js
Created October 26, 2021 08:37
Wait for an element to be inserted to the DOM. It tries a query selector on all mutation events.
// This assumes that the selector will eventually appear - it'll hang indefinitely otherwise.
// You may need a slight delay after this returns, for the element to have its event handlers attached.
async function waitForElementToExist (selector) {
return new Promise(resolve => {
const observer = new MutationObserver(() => {
const element = document.querySelector(selector)
if (element) {
observer.disconnect()
return resolve(element)
import axios from 'axios'
const VERSION = '1.0.0'
class NhostAuth {
constructor (baseUrl) {
this._baseUrl = baseUrl
this.version = VERSION
this._refreshTimeMargin = 45000

See the project on hackaday.

For Arduino Uno compatible board.

Wiring

  • Red LED strip via NPN transistor on pin 1
  • Four timer buttons, plus timer start buttons, and enlarger button via voltage divider on pin A0
  • Rotary encoder on pins A1 and A2
  • Relay module on pin A3
// Copy this into your console while on the 'Available' tab of https://my.ubtsupport.com/mobile_app_node.php
function tickThings () {
return Promise.all(
[...document.querySelectorAll('.actionAdd')]
.map(el => el.getAttribute('onclick').match(/appManagerStartApprovalFlow\((\d+)\)/)[1])
.map(number => fetch('https://my.ubtsupport.com/asyncloader.php?async=1&load=mobileappplayapproval', {
credentials: 'include',
headers: {
'content-type': 'application/x-www-form-urlencoded; charset=UTF-8',
@MarcelloTheArcane
MarcelloTheArcane / example.md
Created January 20, 2020 13:00
Blockchain with JWT

Example Ledger

When decoded, each block refers to the previous block in the chain.

  1. eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJ2MS4wLjAiLCJpYXQiOjE1Nzk1MTU2MTcsInNpZyI6IiIsImRhdCI6e319.rqmyHA3pgvwSLPS7Arj2pz3KS5rK14ZJNHv3BCAB2b4
{
  "iss": "v1.0.0",
  "iat": 1579515617,
  "sig": "",
module.exports = {
name: '',
authentication: {
providers: {
local: true,
google: false,
facebook: false,
github: false,
},
provider_urls: {
@MarcelloTheArcane
MarcelloTheArcane / schema.json
Last active September 4, 2019 15:39
Pipedrive Schema
[
{
"heading": "Activities",
"description": "Activities are appointments/tasks/events on a calendar that can be associated with a Deal, a Person and an Organization. Activities can be of different type (such as call, meeting, lunch or a custom type - see ActivityTypes object) and can be assigned to a particular User. Note that activities can also be created without a specific date/time.",
"endpoint": [
[
{
"method": "GET",
"url": "/activities",
"summary": "Returns all activities assigned to a particular user.",
@MarcelloTheArcane
MarcelloTheArcane / keybase.md
Created April 10, 2017 08:45
Keybase Proof

Keybase proof

I hereby claim:

  • I am marcellothearcane on github.
  • I am marcello (https://keybase.io/marcello) on keybase.
  • I have a public key whose fingerprint is 2878 9F11 C56E D16A FC7E 28A6 D67A 62A7 4B46 8A07

To claim this, I am signing this object: