Skip to content

Instantly share code, notes, and snippets.

Avatar
🎸
hard as a rock

Christian Castelli chrisvoo

🎸
hard as a rock
View GitHub Profile
@chrisvoo
chrisvoo / email_test.php
Created Dec 2, 2015
Testing external SMTP server with PHP
View email_test.php
<?php
# use composer : php composer.phar require swiftmailer/swiftmailer @stable
require __DIR__ . '/vendor/autoload.php';
// Approach 1: Change the global setting (suggested)
Swift_Preferences::getInstance()->setCharset('utf-8');
$smtp_host = '1.2.3.4';
// Create the Transport
$transport = Swift_SmtpTransport::newInstance($smtp_host, 25);
// Create the Mailer using your created Transport
@chrisvoo
chrisvoo / fluent.java
Last active Sep 23, 2016
GET/POST HTTP JSON request with Apache Fluent library (libphonenumber Google library)
View fluent.java
/**
* Apache HTTP Fluent client configuration
* @throws KeyStoreException
* @throws NoSuchAlgorithmException
* @throws KeyManagementException
* @throws IOException
* @throws CertificateException
*/
public static void httpClientConfigurator() throws KeyStoreException, KeyManagementException, NoSuchAlgorithmException,
CertificateException, IOException {
@chrisvoo
chrisvoo / bcrypt.txt
Last active Oct 6, 2016
BCrypt implementations
View bcrypt.txt
/* $2$(2 chars work)$(22 chars salt)(31 chars hash)
* 2 - the original BCrypt, which has been deprecated because of a security issue a long time before BCrypt became popular.
* 2a - the official BCrypt algorithm and a insecure implementation in crypt_blowfish
* 2x - suggested for hashes created by the insecure algorithm for compatibility
* 2y - suggested new marker for the fixed crypt_blowfish
*
* So 2a hashes created by the original algorithm or the java port are fine, and identical to 2y-hashes created by
* crypt_blowfish. But 2a hashes created by crypt_blowfish are insecure. */
@chrisvoo
chrisvoo / pgsql_administration.sh
Last active Oct 6, 2016
psql/pg_dump administration commands
View pgsql_administration.sh
# dump of your database in plain text. It creates tables, views, etc
# for exporting multiple tables only, you can repeat parameter -t
pg_dump --host <IP> --port 5432 --username "myuser" \
--format plain --create --encoding UTF8 -v \
--file "/my/path/file.sql" "db_name"
# or, with short opts and wrapping all SQL statements inside a transaction with automatic ROLLBACK
psql -U postgres -p 5433 --single-transaction -f /my/path/file.sql db_name
# Import of a SQL dump. Be sure to have write permissions in the current directory
@chrisvoo
chrisvoo / pgsql_cheatsheet.sql
Last active Apr 22, 2017
PostgreSQL cheat sheet
View pgsql_cheatsheet.sql
-- QUERIES OPERATIONS
----------------------------------------------------------------------------------
-- KILL ALL sessions FOR A DATABASE
SELECT pg_terminate_backend(pg_stat_activity.pid)
FROM pg_stat_activity
WHERE pg_stat_activity.datname = 'TARGET_DB'
AND pid <> pg_backend_pid();
-- GETTING RUNNING QUERIES, version: 9.2+
@chrisvoo
chrisvoo / flac_to_mp3.sh
Last active Jul 4, 2017
Converts a FLAC file to MP3 with ffmpeg and lame encoder
View flac_to_mp3.sh
to_mp3() {
filename=$(basename "$1")
extension="${filename##*.}"
filename="${filename%.*}"
ffmpeg -i "$1" -codec:a libmp3lame -b:a 320k -map_metadata 0 -id3v2_version 3 ${filename}.mp3
}
@chrisvoo
chrisvoo / getFileHash.js
Created Feb 19, 2019
Node.js: function to create an hash from a file (path or Buffer)
View getFileHash.js
const crypto = require('crypto');
const fs = require('fs');
/**
* It calculates the hash of a file
* @param {string} hashName type of hash (md5, sha1, etc)
* @param {string|Stream} file a file's path or a readable stream
* if it's been already opened somewhere else
*/
function getFileHash(hashName, file) {
@chrisvoo
chrisvoo / isLocalhost.js
Created Feb 21, 2019
Tests if the scripts is running in local (taken from registerServiceWorker.js - CRA apps)
View isLocalhost.js
const isLocalhost = Boolean(
window.location.hostname === 'localhost' ||
// [::1] is the IPv6 localhost address.
window.location.hostname === '[::1]' ||
// 127.0.0.1/8 is considered localhost for IPv4.
window.location.hostname.match(
/^127(?:\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/,
),
);
@chrisvoo
chrisvoo / redis.js
Created Mar 19, 2019
Node.js and Redis: async GET/SET
View redis.js
const redis = require("redis")
const { promisify } = require("util")
const {
redis: { clientOptions, expire },
} = require("../config/get-config")
let client
/**
* Asynchronous version of `client.get`
@chrisvoo
chrisvoo / VirginRadioReducer.user.js
Last active Sep 19, 2019
Removes unnecessary parts from virginradio.it
View VirginRadioReducer.user.js
// ==UserScript==
// @name VirginRadio Reducer
// @namespace http://tampermonkey.net/
// @version 0.6
// @description Removes unnecessary parts from virginradio.it
// @author Christian Castelli <voodoo81people@gmail.com>
// @match https://www.virginradio.it/*
// @grant none
// ==/UserScript==
You can’t perform that action at this time.