Skip to content

Instantly share code, notes, and snippets.

View gtramontina's full-sized avatar

Guilherme J. Tramontina gtramontina

View GitHub Profile
@gtramontina
gtramontina / homebrew
Created September 4, 2014 06:57
brew cask
fancy_echo "Installing Homebrew Cask, so you don't drag'n'drop applications anymore…"
brew tap caskroom/cask
brew tap caskroom/versions
brew_install_or_upgrade 'brew-cask'
@gtramontina
gtramontina / mac-functions
Created September 4, 2014 06:59
brew_cask_install
brew_cask_install() {
if ! brew_cask_is_installed "$1"; then
brew cask install "$@"
fi
}
brew_cask_is_installed() {
local NAME=$(brew_cask_expand_alias "$1")
brew cask list -1 | grep -Fqx "$NAME"
}
@gtramontina
gtramontina / dockerize
Last active August 29, 2015 14:18
Given a git repository with a `Dockerfile`, this runs the given command within the container in the context of your repository.
#!/usr/bin/env bash -e
if [[ -z "$1" ]]
then
echo "Please specify a command to run inside the container."
exit 1
fi
COMMAND=$1
IMAGE=`git rev-parse HEAD`
@gtramontina
gtramontina / keybase.md
Created April 13, 2015 20:23
keybase.md

Keybase proof

I hereby claim:

  • I am gtramontina on github.
  • I am gtramontina (https://keybase.io/gtramontina) on keybase.
  • I have a public key whose fingerprint is 4D7C 2D7B 0C49 EEF7 0455 DE04 7655 A276 F38C 7CF9

To claim this, I am signing this object:

@gtramontina
gtramontina / watches.js
Created May 18, 2016 05:10
Angular Watches
(function () {
var head = document.getElementsByTagName('head')[0];
var styles = document.createElement('style');
styles.innerHTML = `
[data-watchers]:hover {
outline: 1px dotted black;
}
[data-watchers]:hover:before {
content: attr(data-watchers);
@gtramontina
gtramontina / run.py
Created December 15, 2020 02:28
Makefile-like Python script
#!/usr/bin/env python3
import sys
from inspect import getmembers, isfunction
from os.path import getmtime, exists
from pathlib import Path
from shutil import which
from subprocess import call
def pre_requisites():
@gtramontina
gtramontina / leaflet-dom-event-bridge.js
Created September 22, 2023 22:07
leaflet-dom-event-bridge.js
L.Map.addInitHook(function () {
const dom = this.getContainer();
const forward = (e) =>
dom.dispatchEvent(
new CustomEvent(`map:${e.type}`, {
detail: {
originalEvent: e,
zoom: this.getZoom(),
center: this.getCenter(),