Skip to content

Instantly share code, notes, and snippets.

View vidul-nikolaev-petrov's full-sized avatar

Видул Петров vidul-nikolaev-petrov

View GitHub Profile
function insertionSort(list) {
for (var g = 0; g < list.length; g++) {
for (var i = list.length - 1; i > g; i--) {
if (list[i] < list[i - 1]) {
var tmp = list[i];
list[i] = list[i - 1];
list[i - 1] = tmp;
}
}
}
@vidul-nikolaev-petrov
vidul-nikolaev-petrov / soundex.js
Created June 2, 2015 11:59
Soundex in JavaScript
/**
* Soundex in JavaScript
*
* @example
* // returns 'H416'
* soundex('Heilbronn');
*
* @example
* // returns 'L222'
* soundex('Lissajous');
@vidul-nikolaev-petrov
vidul-nikolaev-petrov / bubble_sort.js
Last active October 11, 2016 12:37
Somewhat more concise Bubble sort
function bubbleSort(array) {
var swapped;
for (var i = 0; i < array.length - 1; i++) {
if (array[i] > array[i + 1]) {
var tmp = array[i + 1];
array[i + 1] = array[i];
array[i] = tmp;
swapped = true;
}
@vidul-nikolaev-petrov
vidul-nikolaev-petrov / longest_common_substring.js
Last active August 29, 2015 14:26
Longest Common Substring
/**
* Longest Common Substring in JavaScript
*
* This is the brute-force solution.
*
* @param {String} s1
* @param {String} s2
* @return {String} r1
*/
@vidul-nikolaev-petrov
vidul-nikolaev-petrov / pki_aes.js
Created January 13, 2016 23:38
PKI & AES (en/de)cryption, based on the JS Forge crypto library
/**
* @author Vidul Nikolaev Petrov
* @summary helper methods for PKI / AES usage, based on the JS Forge crypto library.
*/
function s8Crypto(bits) {
var hexToBytes = forge.util.hexToBytes,
bytesToHex = forge.util.bytesToHex;
this.pki = {};
@vidul-nikolaev-petrov
vidul-nikolaev-petrov / todo_git-config-aliases
Last active February 3, 2016 00:38
Simple command-line Todo with Git commits
[alias]
# add task
a = "!f() { \
if [[ -f .dummy ]]; then \
git rm -f .dummy; \
else \
touch .dummy; \
git add .dummy; \
fi; \
@vidul-nikolaev-petrov
vidul-nikolaev-petrov / webpage-crypto.html
Last active February 17, 2016 06:09
Self-contained crypto webpage (AES-256)
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<script>
/*
CryptoJS v3.1.2
code.google.com/p/crypto-js
(c) 2009-2013 by Jeff Mott. All rights reserved.
code.google.com/p/crypto-js/wiki/License
function checkBalance(s) {
if (s.length % 2 !== 0) return false;
if (s.length === 0) return true;
var pairs = ['[]', '()', '{}'],
r0 = s.split(pairs[0]),
r1 = s.split(pairs[1]),
r2 = s.split(pairs[2]);
@vidul-nikolaev-petrov
vidul-nikolaev-petrov / JS-pt-string-index.slice.substring.js
Last active November 29, 2016 17:44
String performance test on Node -- index, slice, substring
var string = 'string',
stringIndex = function () {
string[0];
},
stringSlice = function () {
string.slice(0, 1);
},
stringSubstring = function () {
string.substring(0, 1);
};
@vidul-nikolaev-petrov
vidul-nikolaev-petrov / printable_ascii_characters.c
Last active December 13, 2016 09:30
Printable ascii characters (tiny helper)
#include <stdio.h>
/*
The conversion from `int` to `char` in this sequence is not to guaranteed to work on all systems.
See more in the comments of the accepted answer: http://stackoverflow.com/questions/21196926
*/
int main() {
int i;
int e = 0;
char numbers[11];
char alpha_capital[27];