Skip to content

Instantly share code, notes, and snippets.

View dgmike's full-sized avatar

Michael dgmike

View GitHub Profile
@dgmike
dgmike / gist:4962499
Created February 15, 2013 18:56
Regular expression to test phone numbers in Brazil, including the new Sao Paulo cel phones - that needs to have 9 in first non DDD number.
regexTel = /^\(11\) 9\d{4}-\d{4}|\((?:1[2-9]|[2-9]\d)\) [5-9]\d{3}-\d{4}$/
"(11) 93827-5555".match(regexTel) // OK
"(12) 8201-5555".match(regexTel) // OK
"(11) 89201-5555".match(regexTel) // NOT OK
"(12) 99201-5555".match(regexTel) // NOT OK
"(11) 4201-5555".match(regexTel) // NOT OK
@dgmike
dgmike / Migrations thinking.md
Last active November 18, 2021 12:09
Migrations thinking

Looking a post from serokell about elixir's library called ecto.

In the post he presents an migration:

defmodule Blog.Repo.Migrations.Initial do
  use Ecto.Migration

  def change do
    create table ("users") do
@dgmike
dgmike / cloner.sh
Last active October 20, 2021 11:45
Clone all repos from github
#!/bin/bash
# Set CNTX=users and NAME=yourusername, to download all your repositories.
# Set CNTX=orgs and NAME=yourorgname, to download all repositories of your organization.
CNTX={users|orgs} NAME={username|orgname} PAGE=1 \
curl -s "https://api.github.com/$CNTX/$NAME/repos?page=$PAGE&per_page=100" |
jq -r '.[]|.ssh_url' |
xargs -L1 -n1 -t git clone
@dgmike
dgmike / pear.sh
Created May 7, 2010 16:49
Bash Completion for php PEAR
#
# bash completion support for PEAR installer.
#
# Author: Amir Mohammad Saied <amir@php.net>
# Based on: http://svn.php.net/viewvc/pear2/sandbox/PEAR_BashCompletion/trunk/pear?view=markup
#
# Puts this file in /usr/share/bash_completion/
#
# Create a symbolic link on /etc/bash_completion.d/
#
@dgmike
dgmike / scrollTo.js
Last active September 16, 2019 11:05 — forked from Eworm/gist:5866977
Scroll function cause zepto doesn't have scrolltop animation
// Scroll function cause zepto doesn't have scrolltop animation
;function scrollNew(scrollTo, time) {
var scrollFrom = parseInt(document.body.scrollTop),
i = 0,
runEvery = 5, // run every 5ms
time = time || 1000,
interval
;
scrollTo = parseInt(scrollTo);
@dgmike
dgmike / Install.sh
Created June 18, 2011 16:34
Install Lessjs + CSSLint
#!/bin/bash
# pre install
sudo apt-get install g++ curl libssl-dev apache2-utils
sudo apt-get install git-core
sudo apt-get install python-software-properties
# install nodejs
sudo add-apt-repository ppa:jerome-etienne/neoip
sudo apt-get update
@dgmike
dgmike / new.google.charts.js
Created June 2, 2010 13:05
Criando LineChart com o google Charts é fácil!
function drawVisualization() {
// Create and populate the data table.
var data = new google.visualization.DataTable();
data.addColumn('string', 'Ano');
data.addColumn('number', 'Visualizacoes');
// [ column, column, ... ] => row
// column pode ser uma String/Int/Float/Date ou o seguinte objeto
// { v: "", p : {} } => column, onde v = valor; p: properties
// http://code.google.com/apis/visualization/documentation/reference.html#cell_object
@dgmike
dgmike / portainer.sh
Created May 22, 2018 00:19
Running portainer on your machinne
#!/bin/bash
docker volume create portainer_data
docker run -d -p 9100:9000 --name portainer --restart always -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data portainer/portainer
@dgmike
dgmike / corporate-groups-api__docker-compose.yml
Created June 28, 2017 16:58
Use docker-compose with extends
version: "2"
services:
app:
build:
context: .
dockerfile: Dockerfile.dev
volumes:
- ./src:/app
ports:
@dgmike
dgmike / canalize.sh
Last active February 24, 2017 20:10
Run codeclimate only on files that differs from another branch
function changed_files {
local BASE_BRANCH=$*
git diff --name-only ${BASE_BRANCH:="origin/staging"} | grep -v Gemfile | grep -v .codeclimate | grep -v db/schema.rb | tr "\n" " "
}
function canalyze {
codeclimate analyze $(changed_files) $*
}