Skip to content

Instantly share code, notes, and snippets.

View Pengeszikra's full-sized avatar

Peter Vivo Pengeszikra

View GitHub Profile
@Pengeszikra
Pengeszikra / say.js
Created December 5, 2020 20:44
javascript speak API
const say = sentence => speechSynthesis.speak(new SpeechSynthesisUtterance(sentence));
const fact = n => n ? fact(n - 1) * n : 1;
const poisson = (l, k) => (l ** k / fact(k)) * Math.E ** -l;
@Pengeszikra
Pengeszikra / binomial.js
Created December 2, 2020 21:05
Binomial
const fact = n => n ? fact(n - 1) * n : 1;
const coefficients = (n,k) => Math.round(fact(n) / (fact(k) * fact(n - k)));
const binomial = (p, n, k) => coefficients(n, k) * (p ** k) * ((1 - p) ** (n - k));
@Pengeszikra
Pengeszikra / rust-start.sh
Created November 28, 2020 11:13
rust hot reloading development
cargo watch -x 'run' -q -c -d 1
@Pengeszikra
Pengeszikra / lotto5variations.js
Created November 16, 2020 12:27
calc lotto 5 variatons
const fact = n => n ? fact(n - 1) * n : 1;
Math.round(fact(90) / (fact(5) * fact(90 - 5)) * (1 ** 5) * (1 ** 85)).toLocaleString();
@Pengeszikra
Pengeszikra / railway.js
Created July 29, 2019 17:39
custom railway oriented programming core in javascript
export const railway = (semaphore = () => false) => (begin, ...calls) =>
calls.reduce(
(value, call) => semaphore(value) ? value : call(value)
, begin)
;
@Pengeszikra
Pengeszikra / pipe.js
Created July 22, 2019 10:31
simple pipe implementation
export default (inner, ...outers) => outers.reduce((result, calc) => calc(result), inner);
@Pengeszikra
Pengeszikra / randomRadix32ID.js
Created April 28, 2016 08:45
five digit random radix32 ID ES6
/* five digit random radix32 ID */
function GUID32(){ return ('0'.repeat(5)+( ~~(Math.random() * parseInt( 10e4 , 32 )) ).toString(32).toUpperCase()).slice( -5 ) };
@Pengeszikra
Pengeszikra / dices6.js
Created December 22, 2015 18:21
DICE ES6 syntax sugar
dice=$=>~~(Math.random()*($?$:6))+1
@Pengeszikra
Pengeszikra / objectwalk.js
Last active November 8, 2022 05:28
ES6 object tree walk generator
/* # use >> for( node of Object.walk( yourObject )) console.log( node )
# or more >>
let walk=[]; for( node of Object.walk( yourObject , o => isHaveRoutes( o ) ) ) if(isProperWay(node)) walk.push( node )
# recursive generator for Object, avoide circular structure by set.
*/