Skip to content

Instantly share code, notes, and snippets.

View rodolfo42's full-sized avatar
🎧

Rodolfo Ferreira rodolfo42

🎧
View GitHub Profile
@rodolfo42
rodolfo42 / getOrElse.js
Created March 14, 2014 18:40
simple getOrElse in javascript
function getOrElse(value, _) {
var args = Array.prototype.slice.call(arguments);
for (var i = 0; i < args.length; i++) {
var arg = args[i];
if(typeof arg != "undefined" && arg != null && !isNaN(arg)) {
return arg;
}
}
return null;
}
diskpart
list disk
select disk #
clean
create partition primary
select partition 1
active
format fs=ntfs
assign
$(document).on('mousedown', 'a', function(e) {
if(($(this).attr('target') == '' || $(this).attr('target') != '_blank') && !new RegExp('/' + window.location.host + '/').test(this.href)) {
$(this).attr('target', '_blank');
}
});
@rodolfo42
rodolfo42 / macro.sh
Created May 27, 2014 13:52
Install "Optimize Imports and Save" macro on IntelliJ IDEA 12/13
PREF="$HOME/Library/Preferences/"
if [ -r "$PREF/IntelliJIdea13" ]; then
folder="$PREF/IntelliJIdea13"
elif [ -r "$PREF/IntelliJIdea12" ]; then
folder="$PREF/IntelliJIdea12"
else
echo "Pasta do IntelliJ nao encontrada"
exit 1
fi
@rodolfo42
rodolfo42 / update_all.sh
Created May 27, 2014 20:28
Update all repos that live under the first level of the current directory
#!/bin/bash
for D in *; do
if [ -d "${D}" ] && [ -d "${D}/.git" ]; then
echo "--> ${D}\n"
pushd "${D}"
git up
popd
fi
done
@rodolfo42
rodolfo42 / callbacks_before_jquery.js
Created July 3, 2014 12:51
Code to simulate registering onload callbacks with $( <function> ) but before jQuery is included in the page
window.$ = (function () {
var cbs = [];
return function (callback) {
cbs.push(callback);
window.onload = function () {
while( !window.jQuery );
cbs.map(function (c) { c(); });
};
};
})();
@rodolfo42
rodolfo42 / install_vbox_guest_additions_docker.sh
Last active August 29, 2015 14:07
Downloads ISO w/ Guest Additions for Virtual Box v4.3.14 and sets up boot2docker to use it
#!/bin/bash
if [ -z $(which boot2docker) ]; then
echo "You must install boot2docker first"
echo "Your PATH: $PATH"
exit 1
fi
if [ -z $(which VBoxManage) ]; then
echo "You must have VBoxManager in your PATH"
import rapture._
import core._, io._, net._, uri._, json._, codec._
import jsonBackends.jawn._
import encodings.`UTF-8`
object Test extends App {
// entities
case class Bands(groups: Seq[Band])
@rodolfo42
rodolfo42 / Either.scala
Created November 25, 2014 17:00
Try vs Either
// 1: Handler
def handle(req: Request): Response = {
val indexes = req.get("indexes")
service(indexes)
.map(Response(json(_)))
.orElse(Response.badRequest)
}
// 2: Service
@rodolfo42
rodolfo42 / Db.scala
Last active January 17, 2018 15:23
How to use transactions with finagle-mysql
package transactions
import com.twitter.finagle.exp.mysql.{Client, OK, Result}
class Db(mysqlClient: Client) {
val insertOrder = "INSERT INTO orders (ref) VALUES(?)"
val insertOrderItem = "INSERT INTO order_items (order_id, item_id) VALUES(?, ?)"
def persistOrderWithItems[T](order: Order)(whenDone: (OK, Seq[Result]) => T): Future[T] = {