Skip to content

Instantly share code, notes, and snippets.

@hinell
hinell / CSSSTyleSheet.js
Last active December 23, 2016 14:19
Painless CSSStyleSheet instances' rules manipulator
// Author: hinell@github.com
// Distributed under the MIT License
// Extension for CSSStyleSheet ($('style').sheet) class that enables painless manipulation of
// your css style sheets.
// Be careful! This module extendes built-in prototype!
// cssStyleSheet.rule(a?:number | string, i?: number): CSSRule | undefined
// x:number - the "x" index of cssStyleSheet.cssRules at which the CSSRule to be deleted
// x:string - new "x" CSSRule to add at last of the .cssRules index
@hinell
hinell / autostart ssh agent.sh
Created March 24, 2017 16:16
Script that starts ssh-agent program
export PATH=/opt/openssh/bin:${PATH}
env=~/.ssh/agent.env
agent_is_running() {
if [ "$SSH_AUTH_SOCK" ]; then
# ssh-add returns:
# 0 = agent running, has keys
# 1 = agent running, no keys
# 2 = agent not running
@hinell
hinell / Array.loop.bench.js
Created April 16, 2017 12:46
Benchmark measures speed of every possible looping operators in javascript (i.e.: for(.;.;.),for of, for in, native .forEach() ) over Array and Map instance
console.clear && console.clear();
Array.prototype.each = function (fn,this_){
if(this.length <=0 || fn == undefined) return;
let i = -1
if (this_) fn = fn.bind(this_);
do { fn(this[i],i) }
while (i++ < this.length)
};
var pow = 16

Approximate translation of the Old Russian wedding song - Ты река ль, моя реченька.

Wedding folk song (Novgorod state).

You are my river, aren't you(?)
You are so calmly running
You are my child, aren't you(?)
You are sitting and don't smiling
@hinell
hinell / list of state management tools.md
Last active December 5, 2019 14:11
Modern state management tools for JavaScript and TypeScript

COMPREHENSIVE MODERN LIST OF DATA STATE MANAGEMENT TOOLS

Updated: June 2019 Author: github@Hinell

TOOL DESCRIPTION
[setState][setState] Basic tool built in React library
[MobX][MobX] Simple, scalable state management.
[MobX-State-Tree][MobX-State-Tree] Model Driven State Management
[Redux][Redux] Predictable state container for JavaScript apps
@hinell
hinell / MouseEventX.ts
Created February 2, 2019 19:35
MouseEventX
// Interface for relative cursor position calculation
const MouseEventX = class extends MouseEvent {
constructor(name, init, target){
super(name, init)
if(target instanceof HTMLElement){
let tRect = target.getBoundingClientRect();
tRect.widthHalf = tRect.width / 2;
tRect.heigtHalf = tRect.height/ 2;
// Local cursor coordinates
let x = init.clientX - tRect.x;
#!sh
#--------<SETTING UP DEFAULT FOLDERS>--------
BackUpFolder=/e/Backup;
BackUpFolderUser=$BackUpFolder/user;
echo "| Info"
echo "| Script : User Files Backup script"
echo "| AUTHOR : Alexnader Davronov"
/********************
Name : SC.Tracks snippet
Version : 0.1.2
Last-Modified : 18.04.19
Description :
The programm walks over tracks:
Tracks.nodes = [
1track
2track <---- tracks.current
3track
/*****************************
* Collect tracks v.2
* Collecting tracks for the purpose of exporting them into archive
*/
console.clear()
HTMLElement.prototype.$ = HTMLElement.prototype.querySelector
HTMLElement.prototype.$$= HTMLElement.prototype.querySelectorAll
NodeList.prototype.map = Array.prototype.map;
String.prototype.contains = function(str){ return new RegExp(str).test(this) }