Skip to content

Instantly share code, notes, and snippets.

Avatar

arnorhs arnorhs

View GitHub Profile
View ordabok.md

Framendaþýðingar

enska ísl
container innihaldari
wrapper umvafningur
animation kvikun
transform ummynda
View kill_gatsby.sh
#!/bin/bash
# Honestly there must be an easier way to do this, but im a noob
PSAUX="$(ps)"
while IFS= read -r line; do
if [[ $line == *"gatsby develop"* ]]; then
id=$(echo $line | cut -d " " -f 1)
kill -9 $id
View mocking-text.ts
/**
* from https://stackoverflow.com/a/49434653
*/
export const boxMullerTransformedRand = (): number => {
let u = 0, v = 0
while (u === 0) u = Math.random() //Converting [0,1) to (0,1)
while (v === 0) v = Math.random()
let num = Math.sqrt(-2.0 * Math.log(u)) * Math.cos(2.0 * Math.PI * v)
num = num / 10.0 + 0.5 // Translate to 0 -> 1
if (num > 1 || num < 0) return boxMullerTransformedRand() // resample between 0 and 1
@arnorhs
arnorhs / logger.js
Created May 20, 2020
returning named logger
View logger.js
const logger = (label, printer = null) => (...args) => {
(printer || console.log)(`[${label}]`, ...args)
const [first] = args
return first
}
export default logger
// example usage:
const log = logger('user clicked button')
View String hash code
const strHash = str => {
let hash = 0
for (let i = 0; i < str.length; i++) {
let charCode = str.charCodeAt(i)
hash = (hash << 5) - hash + charCode
hash = hash & hash
}
return hash
}
@arnorhs
arnorhs / snippet.js
Created Mar 19, 2018
see all forms on a website
View snippet.js
Array.prototype.forEach.call(document.forms, f => { console.log('[' + f.method + '] ' + f.action); console.table(Array.prototype.map.call(f.elements, el => { return {name: el.name, nodeName: el.nodeName } }))})
@arnorhs
arnorhs / recursive-obj-vars-for-private-props.php
Created Sep 28, 2017
horrible hack to recursively change custom objects into plain arrays
View recursive-obj-vars-for-private-props.php
Class Yoyo
{
public static function objectToArray($obj) {
if (is_object($obj)) {
$reflect = new \ReflectionClass($obj);
$props = $reflect->getProperties();
$d = array();
foreach ($props as $prop) {
View increase-reading-focus.js
var els = document.querySelectorAll('h1, h2, h3, h4, h5, h6, a, p, div');
function transform() {
Array.prototype.forEach.call(els, function(p) {
p.style.transform = 'translateY(' + (Math.random() - 0.5) + 'px)';
});
requestAnimationFrame(function() {
transform();
});
View maybe the easiest copy paste version.js
function islCompare() {
var order = '0123456789aAáÁbBcCdDeEéÉfFgGhHiIíÍjJkKlLmMnNoOóÓpPqQrRsStTuUúÚvVwWxXyYýÝzZþÞæÆöÖ';
function charOrder(a) {
var ix = order.indexOf(a);
return ix === -1 ? a.codePointAt() + order.length : ix;
}
return function(a, b) {
for (var i = 0; i < Math.min(a.length, b.length); i++) {
@arnorhs
arnorhs / dom-utils.js
Created Mar 2, 2016
random DOM utility functions
View dom-utils.js
/**
* Given a Node. Find the first parent node that matches a selector
*
* @param node {Node} the base node who's parents will be traversed
* @param selector {string} asdfasdf
* @returns {Node|null} the node, or null if nothing was found
*/
function findFirstParentNodeMatchingSelector(node, selector) {
var parent = node.parentNode;