Skip to content

Instantly share code, notes, and snippets.

View tomayac's full-sized avatar

Thomas Steiner tomayac

View GitHub Profile
@tomayac
tomayac / enel-x-way-api.md
Last active March 30, 2024 04:32
Reverse-engineering the Enel X Way API

Reverse-engineering the Enel X Way API

These API endpoints were extracted from decompiling the Enel X Way Android app.

Authentication

https://emobility.enelx.com/api/authentication/v2/oauth/refreshToken
#!/bin/bash
# Downloads the latest Chromium build for macOS and installs it.
# Credits: Pete LePage (@petele).
pushd .
BASEDIR=https://commondatastorage.googleapis.com/chromium-browser-snapshots/Mac
mkdir ~/ChromiumTemp/
cd ~/ChromiumTemp/
@tomayac
tomayac / resize.sh
Created June 19, 2020 14:19
Resize script for web.dev images
#!/bin/sh
set -e
maxwidth="1600" # in pixels, the widest image you want to allow.
#find all .png in current dir and subdirectories
FILES="$(find . -iname '*.png')"
for imagefile in $FILES
do
* {
box-sizing: border-box;
padding: 0;
margin: 0
}
html {
font-size: 20px
}
{
"userAgent": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/62.0.3202.75 Safari/537.36",
"lighthouseVersion": "2.5.0",
"generatedTime": "2017-11-01T11:30:50.138Z",
"initialUrl": "http://www.google.com/",
"url": "https://www.google.com/?gws_rd=ssl",
"audits": {
"is-on-https": {
"score": false,
"displayValue": "1 insecure request found",
@tomayac
tomayac / #intro.md
Last active December 18, 2022 07:22
Snippet repository

There are many code snippets which can be quickly used to show/demo stuff in Chrome for demos or pitches, or just debugging, QA and testing. This is a collection of such snippets with some instructions Snippets can be saved to Chrome and run via one click again!

How to use snippets in Chrome

  • Open Command Menu in DevTools
  • Apple-Shift-P
  • Pick "Create new snippet"
@tomayac
tomayac / doodle.js
Last active December 12, 2016 15:36
Doodle Bookmarklet Wizard for Weekly Recurring Events
javascript: (() => {
// Whenever you run the bookmarklet, always returns the next Wednesday.
const nextWednesday = () => {
let ret = new Date();
ret.setDate(ret.getDate() + (3 - 1 - ret.getDay() + 7) % 7 + 1);
return ret.toLocaleDateString('en-US', {
weekday: 'long',
year: 'numeric',
month: 'long',
day: 'numeric'
@tomayac
tomayac / manifest-polyfill.html
Last active June 17, 2016 21:53 — forked from PaulKinlan/manifest-polyfill.html
Web App Manifest Polyfill for iOS
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width">
<link rel="manifest" href="https://jsbin-user-assets.s3.amazonaws.com/kinlan/manifest.json">
<title>iOS Manifest Polyfill</title>
</head>
<body>
// From https://developer.bluetooth.org/gatt/services/Pages/ServicesHome.aspx
var services = [
'alert_notification',
'automation_io',
'battery_service',
'blood_pressure',
'body_composition',
'bond_management',
'continuous_glucose_monitoring',
'current_time',
'use strict';
var async = require('async');
var request = require('request');
var ExpontentialSmoothingStream = require('exponential-smoothing-stream');
var numbers = require('numbers');
var geolib = require('geolib');
var util = require ('./util.js');