Skip to content

Instantly share code, notes, and snippets.

View rodrigok's full-sized avatar

Rodrigo Nascimento rodrigok

View GitHub Profile
// node --version v18.16.0
import deasync from 'deasync';
import fetch from 'node-fetch';
function deasyncPromise(fn) {
return (...args) => {
return deasync((cb) => fn(...args).then((r) => cb(undefined, r)).catch(cb))();
}
}
@rodrigok
rodrigok / enc.js
Created March 27, 2020 01:43
Simple code to encrypt/decrypt with shared key
function ab2str(buf) {
return String.fromCharCode.apply(null, new Uint16Array(buf));
}
function str2ab(str) {
var buf = new ArrayBuffer(str.length * 2); // 2 bytes for each char
var bufView = new Uint16Array(buf);
for (var i = 0, strLen = str.length; i < strLen; i++) {
bufView[i] = str.charCodeAt(i);
}
@rodrigok
rodrigok / a.sh
Last active June 9, 2017 20:09
Debug Rocket.Chat demo container
# Terminal 1
docker exec -it CONTAINER_ID /bin/bash
npm install node-inspector
kill -s USR1 PROCESS_ID
node_modules/node-inspector/bin/inspector.js --web-port=9000
# Terminal 2
docker exec -it CONTAINER_ID /bin/bash
curl -O https://bin.equinox.io/c/4VmDzA7iaHb/ngrok-stable-linux-amd64.tar.gz
tar -xvzf ngrok-stable-linux-amd64.tar.gz
@rodrigok
rodrigok / pr.js
Last active December 2, 2016 12:51
#!/usr/bin/env node
// USAGE
// pr.js <pr_number>
const https = require('https');
const _execSync = require('child_process').execSync;
function execSync(command) {
console.log(command);
@rodrigok
rodrigok / rocketchat-jira.js
Created August 17, 2016 21:39 — forked from alexandrezia/rocketchat-jira.js
Rocket.Chat - Jira webhook
/*
Alexandre Zia
Credits:
This script adds functionality to the original code
Original code from: Jonathan Gotti (malko) : https://github.com/malko/rocketchat-jira-hook/blob/master/jira-rocketchat-hook.js
*/
/*jshint esnext:true*/
@rodrigok
rodrigok / capitais.json
Created May 5, 2016 15:18
TABELA DE DISTÂNCIAS ENTRE AS CAPITAIS BRASILEIRAS EM JSON
[
"Aracajú",
"Belém",
"Belo Horizonte",
"Boa Vista",
"Brasília",
"Campo Grande",
"Cuiabá",
"Curitiba",
"Florianópolis",
@rodrigok
rodrigok / install.md
Last active March 8, 2017 15:37
Install Rocket.Chat in Ubuntu as Production Mode
# Vamos criar a pasta packages dentro das aplicações
mkdir -p mpp-application-1/packages
mkdir -p mpp-application-2/packages
# Vamos criar o link do pacote dentro das pastas packages
ln -s $(pwd)/mpp-session-log $(pwd)/mpp-application-1/packages/
ln -s $(pwd)/mpp-session-log $(pwd)/mpp-application-2/packages/
// Meteor.startup executa nosso código assim que o DOM estiver pronto
// É garantido que os Meteor.startup dos pacotes serão executados
// antes dos definidos nas aplicações
Meteor.startup(function() {
// Salva a função original do Session.set
var originalSessionSet = Session.set;
// Definie um novo Session.set
Session.set = function(key, value) {
api.addFiles('mpp-session-log.js', ['client']);