Skip to content

Instantly share code, notes, and snippets.

View rodolfo42's full-sized avatar
🎧

Rodolfo Ferreira rodolfo42

🎧
View GitHub Profile
@rodolfo42
rodolfo42 / deleteall.rb
Last active December 17, 2015 14:29
Deletes all objects in a S3 bucket, so you can finally delete it
# Deletes all objects in a S3 bucket, so you can finally delete it
# inspired by
# http://stackoverflow.com/a/1179190
require 'aws'
require 'yaml'
credentials = {
:access_key_id => 'YOUR_ACCESS_KEY_ID',
:secret_access_key => 'YOUR_SECRET_ACCESS_KEY'
@rodolfo42
rodolfo42 / post-receive
Last active December 20, 2015 13:39
Hook para post-receive do Git (apos o repositorio receber um payload). Analisa para ver se algum commit foi feito para o branch $targetBranch, e, somente neste caso, atualiza o $webroot com os conteudos da working tree desta branch usando git checkout
#!/bin/bash
# DocumentRoot do Apache
webroot=/var/www/approot
# branch que será considerado como versão para produção
targetBranch=master
# funcao para logar uma mensagem em um log e tambem exibir no client
log() {
@rodolfo42
rodolfo42 / get_java.sh
Created August 7, 2013 04:47
install JDK 6 on default Amazon AMI
#!/bin/bash
wget --no-cookies --header "Cookie: gpw_e24=xxx;" http://download.oracle.com/otn-pub/java/jdk/6u34-b04/jdk-6u34-linux-i586-rpm.bin
chmod +x jdk-6u34-linux-i586-rpm.bin
./jdk-6u34-linux-i586-rpm.bin
alternatives --install /usr/bin/java java /usr/java/default/bin/java 20000
update-alternatives --config java
ln -s /usr/java/default/jre /usr/lib/jvm/jre
ln -s /usr/share/java /usr/lib/jvm-exports/jre
@rodolfo42
rodolfo42 / serialize-form.js
Created September 4, 2013 19:32
Serialize form values in an 'friendly' object
var obj = {};
$( $(form).serializeArray() ).each(function(i, entry) {
obj[entry.name] = entry.value;
});
console.log(obj);
@rodolfo42
rodolfo42 / LocaleList.java
Last active December 23, 2015 12:39
List all available locales in the current system
import java.text.*;
import java.util.*;
public class LocaleList {
static public void main(String[] args) {
printCurrentLocale();
Locale list[] = SimpleDateFormat.getAvailableLocales();
Set<String> set = new HashSet<String>();
for (int i = 0; i < list.length; i++) {
@rodolfo42
rodolfo42 / onEnter.js
Created October 22, 2013 11:33
suporte a onEnter e onShiftEnter para inputs
$.fn.onEnter = function(callback, selector, data, onlyIfShiftKeyPressed){
if($.isFunction(callback)) {
$(this).on('keydown.onEnter', selector, data, function(e) {
if(e.which != 13) return true;
if(onlyIfShiftKeyPressed && !e.shiftKey) return true;
e.preventDefault();
callback.apply(this, [e]);
});
}
@rodolfo42
rodolfo42 / TailRecursion.md
Created October 22, 2013 15:48
Resumo sobre a apresentação de Tail Recursion para o Blog da Bluesoft

Tail Recursion

O paradigma da programação funcional está cada vez ganhando mais antenção no mercado, especialmente o interesse em linguagens funcionais como Scala, Clojure, LISP, Scheme, OCaml, entre outras.

Uma das razões para este interesse é o fato de que a maneira funcional de pensar vem se mostrando cada vez mais útil e produtiva em relação á abordagens tradicionais como orientação à objetos, especialmente para os novos problemas dos dias de hoje.

Na base do pensamento funcional está a premissa de que funções são representações como qualquer outra em uma linguagem, assim como números, strings e objetos e, portanto, podem ser definidas com liberdade, passadas como parâmetros para outras funções, serem valores de retorno de outras funções, etc.

Nesta apresentação, introduzo um aspecto da programação funcional que se chama tail recursion (ou tail call). É basicamente uma otimização que o compilador exerce ao detectar que a última expressão em uma função é em si nada mais que uma chamada para uma

String periodoInicial = null;
String periodoFinal = null;
String periodoInicialAux = null;
String periodoFinalAux = null;
if(buscaPor == 1) {
periodoInicial = request.getParameter("dataInicial");
periodoFinal = request.getParameter("dataFinal");
periodoInicialAux = request.getParameter("dataInicial");
periodoFinalAux = request.getParameter("dataFinal");
@rodolfo42
rodolfo42 / yaml_to_json.sh
Last active July 15, 2016 15:32
Convert a YAML to JSON
ruby -ryaml -rjson -e 'puts JSON.pretty_generate(YAML.load(ARGF))' < in.yml > out.json
@rodolfo42
rodolfo42 / diffs.js
Last active April 12, 2017 15:00
Yield differences in parsing dates from log vs event log timestamp
const moment = require('moment');
const format1 = require('./format1_log_events.json');
const format2 = require('./format2_log_events.json');
const events = {
format1,
format2
};