Skip to content

Instantly share code, notes, and snippets.

View episage's full-sized avatar
📭
Leave a message after the tone

Tom Ciborski episage

📭
Leave a message after the tone
View GitHub Profile
@episage
episage / fastest_for.js
Last active October 16, 2023 06:40 — forked from DungGramer/fastest_for.js
Find fastest way to loop through an array in Javascript
const { performance } = require('perf_hooks');
const assert = require('assert');
const DURATION_COLUMN = 'time[ns]';
// Create 1000 random numbers
const createTestArray = length => Array.from({ length }, () => 1 + Math.floor(Math.random() * 1000));
const createReferenceArray = testArray => testArray.map(v => Math.ceil((v + 2) / 10));
const sumUp = array => array.reduce((sum, value) => sum + value, 0);
const computeBenchmark = v => Math.ceil((v + 2) / 10);
@episage
episage / console.js
Created May 2, 2023 15:07
Create Horizontal Ray in TradingView from browser console
function createHorizontalRay(epoch, price) {
window.c = window.TradingViewApi.activeChart();
// Ht
window.ht = window.c._chartWidget.paneWidgets()[0];
// l = chart undo model
window.chartModel = window.c._chartWidget._model
var point = {index: epochToCandleIndex(epoch), price: price};
var linetool = 'LineToolHorzRay';
window.chartModel.createLineTool({
@episage
episage / UniqueIdGenerator.ts
Created May 17, 2016 18:44 — forked from mikelehen/generate-pushid.js
JavaScript code for generating Firebase Push IDs
// https://gist.github.com/mikelehen/3596a30bd69384624c11
/**
* Fancy ID generator that creates 20-character string identifiers with the following properties:
*
* 1. They're based on timestamp so that they sort *after* any existing ids.
* 2. They contain 72-bits of random data after the timestamp so that IDs won't collide with other clients' IDs.
* 3. They sort *lexicographically* (so the timestamp is converted to characters that will sort properly).
* 4. They're monotonically increasing. Even if you generate more than one in the same timestamp, the
* latter ones will sort after the former ones. We do this by using the previous random bits
* but "incrementing" them by 1 (only in the case of a timestamp collision).
@episage
episage / install.sh
Created March 29, 2018 10:48 — forked from wdullaer/install.sh
Install Latest Docker and Docker-compose on Ubuntu
# Ask for the user password
# Script only works if sudo caches the password for a few minutes
sudo true
# Install kernel extra's to enable docker aufs support
# sudo apt-get -y install linux-image-extra-$(uname -r)
# Add Docker PPA and install latest version
# sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 36A1D7869245C8950F966E92D8576A8BA88D21E9
# sudo sh -c "echo deb https://get.docker.io/ubuntu docker main > /etc/apt/sources.list.d/docker.list"
declare module 'react-grid-layout' {
export = __ReactGridLayout;
}
declare namespace __ReactGridLayout {
import React = __React;
let Responsive:__ReactGridLayout.ResponsiveReactGridLayout
interface GridItemProps<P> {
// Children must be only a single element
children: React.ReactElement<P>,