Skip to content

Instantly share code, notes, and snippets.

@raphaelgabbarelli
raphaelgabbarelli / zip_this_folder.py
Created June 15, 2020 22:48
archiving a folder with python
from pathlib import Path
import zipfile
def _walk(path: Path) -> []:
all_files = []
for x in path.iterdir():
if x.is_dir():
all_files.extend(_walk(x))
else:
@raphaelgabbarelli
raphaelgabbarelli / hellp_kms.py
Created May 23, 2020 21:41
encrypt and dectypt with AWS KMS
import boto3
import base64
key_id = 'de5bb9e8-6526-49bc-822f-4e8a70ea7a19'
def hello_kms():
session = boto3.session.Session(profile_name='caveman')
client = session.client('kms')
encryption_result = client.encrypt(KeyId=key_id,

Keybase proof

I hereby claim:

  • I am raphaelgabbarelli on github.
  • I am raphaelgabbarell (https://keybase.io/raphaelgabbarell) on keybase.
  • I have a public key whose fingerprint is 3812 6B2F 2332 3D42 6758 7C01 111F B075 5E53 CE13

To claim this, I am signing this object:

@raphaelgabbarelli
raphaelgabbarelli / my_webexpo_2015.json
Last active September 21, 2015 21:15
talks I attended at WebExpo 2015
{ "event" : "WebExpo",
"location" : "Prague, Czech Republic",
"date" : "September 19 and 20, 2015",
"day_1" : [ { "title" : "Find your inner product manager", "speaker" : "Amit Paunikar" },
{ "title" : "Defining product success", "speaker" : "Cole Mercer" },
{ "title" : "Security is everyone’s responsibility", "speaker" : "James Hall" },
{ "title" : "From callbacks to promises", "speaker" : "Vincenzo Chianese" },
{ "title" : "The principles of responsive design", "speaker" : "Paul Robert Lloyd" },
{ "title" : "The future of marketing", "speaker" : "J. Christian Andersen"} ],
"day_2" : [ { "title" : "Why I chose Firebase to add real time data to Luzme", "speaker" : "Rachel Willmer" },
@raphaelgabbarelli
raphaelgabbarelli / gist:b82d01d1c364e785709c
Created December 26, 2014 16:44
the greeter client code
var th = new TruckersHitch();
th.add("greeter", hello);
th.add("gm", greetingManager);
var grManager = th.get("gm");
grManager.greet("Raphael");
@raphaelgabbarelli
raphaelgabbarelli / gist:60f6778c41bd57ef9da1
Created December 26, 2014 16:41
hello, arr and greetingManager complete definitions
// The hello type
var hello = function(){
var self = this;
this.greet = function(name){
console.log("hello " + name);
};
};
hello.$ctor = function(){
return new hello();
}
@raphaelgabbarelli
raphaelgabbarelli / gist:026b138bb84f98094f1e
Created December 26, 2014 16:31
getting an instance of a type from the IoC
this.get = function(key){
for(var i = 0; i < self.dependencies.length; i++){
var dep = self.dependencies[i];
if(dep.key === key){
var deps = [];
if(dep.dependency.$deps != null){
for(var d = 0; d < dep.dependency.$deps.length; d++){
deps.push(self.get(dep.dependency.$deps[d]));
}
@raphaelgabbarelli
raphaelgabbarelli / gist:07a9425fed1e997e424b
Created December 26, 2014 16:29
greetingManager with dependencies
var greetingManager = function(greeter){
self = this;
this.greeter = greeter;
this.greet = function(name){
self.greeter.greet(name);
};
}
greetingManager.$deps = ["greeter"];
this.add = function(key, dependency){
for(var i = 0; i < self.dependencies.length; i++){
if(self.dependencies[i].key === key){
return;
}
}
self.dependencies.push({key : key, dependency : dependency});
};
@raphaelgabbarelli
raphaelgabbarelli / gist:49d7a2b973b4f542f423
Created December 26, 2014 16:12
stabbing the trucker's hitch
/**
* Trucker's hitch Inversion of Control container
*/
var TruckersHitch = function() {
var self = this;
self.dependencies = [];
this.get = function(key){
...