Skip to content

Instantly share code, notes, and snippets.

View loretoparisi's full-sized avatar
🐍
Pythoning

Loreto Parisi loretoparisi

🐍
Pythoning
View GitHub Profile
@loretoparisi
loretoparisi / install_phantomjs.sh
Created September 5, 2016 09:34
How to install PhantomJS on Ubuntu
#!/usr/bin/env bash
# This script install PhantomJS in your Debian/Ubuntu System
#
# This script must be run as root:
# sudo sh install_phantomjs.sh
#
if [[ $EUID -ne 0 ]]; then
echo "This script must be run as root" 1>&2
exit 1
@loretoparisi
loretoparisi / install_docker.sh
Created September 5, 2016 10:07
How to install Docker on Ubuntu
#!/usr/bin/env bash
# This script install Docker on Ubuntu >= 14.04 LTS
#
# This script must be run as root:
# sudo sh install_docker.sh
#
sudo apt-get -y install docker.io
sudo ln -sf /usr/bin/docker.io /usr/local/bin/docker
sudo sed -i '$acomplete -F _docker docker' /etc/bash_completion.d/docker
@loretoparisi
loretoparisi / roundrobin.js
Created September 5, 2016 12:42
Round robin scheduler in JavaScript - https://www.npmjs.com/package/roundrobin
function(n, ps) {
const DUMMY = -1;
var rs = []; // rs = round array
if (!ps) {
ps = [];
for (var k = 1; k <= n; k += 1) {
ps.push(k);
}
} else {
ps = ps.slice();
@loretoparisi
loretoparisi / tcp_listen.sh
Created September 13, 2016 12:51
Get LISTEN TCP connections on localhost
#!/bin/bash
netstat -atn | grep LISTEN | grep "127.0.0.1"
@loretoparisi
loretoparisi / object+map+filter.js
Created September 14, 2016 09:50
JavaScript map and filter object extensions
/********************
* Object modifiers
********************/
/**
* Object.mapObject(value,key)
* Map Object properties
* @return object Copy of this object
*/
if( typeof( Object.mapObject ) == 'undefined') {
@loretoparisi
loretoparisi / phantomjs+waitForCondition.js
Created September 14, 2016 15:16
Phantomjs example of wait For Page Document condition
/**
* Phantomjs example wait For Page Document condition
* @author Loreto Parisi (loretoparisi at gmail dot com )
*/
(function() {
/**
* Delayed wait on a condition
*/
var Delay = function() {
@loretoparisi
loretoparisi / object+deepClone.js
Created October 7, 2016 10:38
Deep Clone a JavaScript Object
function deepClone(obj) {
var copy;
var i;
var len;
if (!obj || typeof obj !== 'object') {
return obj;
}
if (obj instanceof Array) {
@loretoparisi
loretoparisi / google-cloud-storage-upload.js
Created October 17, 2016 08:16
Google Cloud Storage Upload - For dummies
////
/// first you have to do this
///
/// export GCLOUD_PROJECT=YOUR_PROJECT_NAME
/// export GOOGLE_APPLICATION_CREDENTIALS=YOUR_JSON_CREDENTIALS_FILE_WITH_PRIVATE_KEY_IN
/// export GCLOUD_EMAIL=YOUR_CLOUD_EMAIL_ACCOUNT_SAME_FOR_CREDENTIALS
/// gcloud beta auth application-default login
///
// node upload YOUR_BUCKET_NAME YOUR_FILE_PATH
@loretoparisi
loretoparisi / node-spinner.js
Created October 18, 2016 14:30
Cool node.js stdout spinner
const spinner = [ '⠋', '⠙', '⠹', '⠸', '⠼', '⠴', '⠦', '⠧', '⠇', '⠏' ];
for(var count=0;count<100000;count++) process.stdout.write(" "+spinner[ (count+1)% spinner.length ]+"\033[0G" ); // \033[0G | \r | \x1B[0G
@loretoparisi
loretoparisi / ipa2say.rb
Created October 26, 2016 21:32
IPA (Internationl Phonetic Alphabet) to macOS say Text To Speech (TTS) conversion
#!/usr/bin/ruby -w
map = { 'æ' => 'AE',
'eɪ' => 'EY',
'ɑ' => 'AO',
'əˈ' => 'AX',
'i' => 'IY',
'ɛ' => 'EH',
'ɪ' => 'IH',
'aɪ' => 'AY',