Skip to content

Instantly share code, notes, and snippets.

View gkucmierz's full-sized avatar
💻

Grzegorz Kućmierz gkucmierz

💻
View GitHub Profile
[
"Kij bejsbolowy i piłka łącznie kosztują 1,10. Kij kosztuje o 1 dolar więcej niż piłka. Jaka w takim razie jest cena piłki?",
"5 urzqdzen produkuje 5 gadżetów w 5 minut. Jak długo zajmie 100 maszyn zrobienie 100 gadżetów?",
"W jeziorze znajdują sie liliowce. Każdego dnia stają się większe, podwajając swoją objętość. Jesli w 48 dni lisć pokryje całe jezioro, to ile czasu zajmie, by liść zakrył połowę jeziora?"
]
// https://hackernoon.com/how-does-rsa-work-f44918df914b
const key = {
mod: 14,
pub: 5,
prv: 11,
};
const msg = 'hello';
// http://www.pleacher.com/handley/puzzles/blackhol.html
const randBI = () => {
const maxLen = 10_000;
return BigInt(new Array(Math.round(Math.random() * maxLen))
.fill(0)
.map(_ => Math.round(Math.random() * 10) % 10)
.join(''))
};
const kaprekarNext = n => {
const a = [...n + ''].map(n => +n);
a.sort((a, b) => b - a);
return +a.join('') - +a.reverse().join('');
};
const kaprekarLoop = n => {
let last;
while (last !== n) {
last = n;
// usefull object, to clip array in O(1) when we don't want to make copies of it (slice)
const ClipArray = arr => {
let low = 0;
let up = arr.length;
const length = () => up - low;
return {
clipHead: n => {
low += n;
if (low > up) low = up;
const collatz = n => {
const res = [n];
while (n !== 1) {
if (n % 2 === 0) {
n /= 2;
} else {
n = n * 3 + 1;
}
res.push(n);
var silent = false;
var mute = () => silent = true;
var unmute = () => silent = false;
var loop = () => {
const play = (frequency = 300, duration = 1e3) => {
const context = new AudioContext();
const gainNode = context.createGain();
const oscillator = context.createOscillator();
// const Sunday = 0;
// const Monday = 1;
const TUESDAY = 2;
// const Wednesday = 3;
// const Thursday = 4;
// const Friday = 5;
// const Saturday = 6;
const firstDayOfMonth = (year, month, weekDay) => {
@gkucmierz
gkucmierz / macbook_setup.md
Last active September 25, 2020 09:56 — forked from hrishimittal/macbook_setup.md
Setting up a new MacBook for Ruby on Rails web development
  1. Install Google Chrome
  2. Install Homebrew - http://brew.sh/
  3. Install GnuPG - brew install gnupg2
  4. Generate SSH key - ssh-keygen -t rsa -b 4096 -C "[email protected]"
  5. Install node, npm, n
  6. Git - brew install git
  7. Add SSH public key to Github, Bitbucket.
  8. Restore pgp key https://dev.to/gkucmierz/how-to-make-my-git-contributions-verified-2e76
  9. To delete words with alt+backspace in Terminal, go to Preferences > (your profile) > Keyboard > Use option as meta key.
  10. Sublime Text shortcut: sudo ln -s "/Applications/Sublime Text.app/Contents/SharedSupport/bin/subl" /usr/local/bin/subl
// find_value.js
const arr = ['a', 'b', 'c', 'd'];
const stopAt = 'c';
console.log(
arr.findIndex((...args) => {
console.log('args', args);
if (args[0] === stopAt) return true;
return false;