Skip to content

Instantly share code, notes, and snippets.

Avatar

hinell hinell

View GitHub Profile
@hinell
hinell / CSSSTyleSheet.js
Last active Dec 23, 2016
Painless CSSStyleSheet instances' rules manipulator
View CSSSTyleSheet.js
// 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 Mar 24, 2017
Script that starts ssh-agent program
View autostart ssh agent.sh
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 Apr 16, 2017
Benchmark measures speed of every possible looping operators in javascript (i.e.: for(.;.;.),for of, for in, native .forEach() ) over Array and Map instance
View Array.loop.bench.js
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
View Old Russian wedding song.md

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 Dec 5, 2019
Modern state management tools for JavaScript and TypeScript
View list of state management tools.md

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
View MouseEventX.ts
// 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;
View backup.user.sh
#!sh
#--------<SETTING UP DEFAULT FOLDERS>--------
BackUpFolder=/e/Backup;
BackUpFolderUser=$BackUpFolder/user;
echo "| Info"
echo "| Script : User Files Backup script"
echo "| AUTHOR : Alexnader Davronov"
View SC.Tracks.js
/********************
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
View SC.getDonwloadLinks.js
View Collect tracks.js
/*****************************
* 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) }