Skip to content

Instantly share code, notes, and snippets.

View tuscen's full-sized avatar
🐼

Aleksey Usatov tuscen

🐼
View GitHub Profile
@tuscen
tuscen / partition.js
Created February 3, 2016 20:18
Clojure's partition for arrays in Javascript
function partition(coll, size, step, pad) {
if (size < 1) {
return coll;
}
function iter(acc, coll) {
if (!coll.length) {
return acc;
}

CodeWars Kata

Description:

In order to stop too much communication from happening, your overlords declare that you are no longer allowed to use certain functionality in your code!

Disallowed functionality:

  • Strings
  • Numbers
  • Regular Expressions
'use strict';
export default function flatten(obj) {
const pairs = Object.keys(obj).reduce((acc, key) => {
const pair = [key, obj[key]];
return acc.concat([pair]);
}, []);
return pairs.reduce((acc, [k, v]) => {
switch (typeof v) {
@tuscen
tuscen / separate.js
Last active August 20, 2017 15:35
Separate a number with commas
function partition(array, size) {
if (array.length === 0) return [];
const part = array.slice(0, size);
return [part].concat(partition(array.slice(part.length), size));
}
function separate(number, separator = ',') {
const parts = number.toString().split('.');
parts[0] = partition(parts[0].split('').reverse(), 3)
@tuscen
tuscen / sort.js
Created December 11, 2015 19:19
Sort array of numbers by number of ones in binary representation
function compareByNumOfOnes(a, b) {
return a.match(/1/g).length - b.match(/1/g).length;
}
function solution(array) {
return array.map(item => item.toString(2))
.sort(compareByNumOfOnes)
.map(item => parseInt(item, 2))
}
// Задание:
// 1) генерируем последовательность натуральных чисел до ста
// 2) оставляем только нечетные
// 3) складываем их попарно
// 4) оставляем только те, у которых в бинарном представлении
// количество единиц и нулей одинаковое
// 5) возвращаем общее количество единиц
'use strict'
<?php
$sentence = "Пусть этой строкой будет вот прямо эта строка.";
function solution($string) {
$ucfirst = function($word) {
$firstChar = mb_substr($word, 0, 1, 'utf8');
$rest = mb_substr($word, 1, mb_strlen($word), 'utf8');
return mb_strtoupper($firstChar) . $rest;

tmux cheatsheet

As configured in my dotfiles.

start new:

tmux

start new with session name:

@tuscen
tuscen / mergeSort.js
Last active December 22, 2015 00:45
Functional merge sort in JS
'use strict';
var mergesort = (function () {
"use strict";
function sort(array) {
if (array.length < 2) {
return array;
}
@tuscen
tuscen / fibonacciBase.js
Last active November 12, 2015 23:14
Fibonacci notation to decimal notation converter
// Работает нативно в Node.js 5.0
'use strict';
// Функция, возвращающая генератор бесконечной
// последовательности чисел Фибоначчи. Итерируема
// посредством вызова метода next() на полученном
// объекте.
function fibonacciGenerator() {
let a = 0