Skip to content

Instantly share code, notes, and snippets.

Avatar
💭
I may be slow to respond.

Yossale yossale

💭
I may be slow to respond.
View GitHub Profile
View Groovy executors and callables.groovy
def messageTo = { num ->
println(Thread.currentThread().name + " --> A message for you number $num")
}
def pool = Executors.newFixedThreadPool(10)
(1..1000).each { num ->
pool.submit({ messageTo(num) })
}
pool.awaitTermination(60, TimeUnit.SECONDS)
View RunnableClosure.groovy
//Every closure in groovy is executable, and technically, implements the "Callable" interface
def a = { println "hello!"}
a()
// --> hello
a.call()
// --> hello
@yossale
yossale / FishClassWithGetSet.scala
Created Apr 19, 2011
Basic Fish class wit only name attribute
View FishClassWithGetSet.scala
class Fish {
private var myName = "Default"
def name = myName
def name_= (newName: String) = myName = newName
}
@yossale
yossale / FishWithJavaGetSet.scala
Created Apr 19, 2011
Fish class with Java-like getters and setters
View FishWithJavaGetSet.scala
class Fish {
private var name = "Default"
def getName = name
def setName(newName: String) = name = newName
}
@yossale
yossale / FishScopeDemo.scala
Created Apr 20, 2011
Fish class that access other fish inner field
View FishScopeDemo.scala
class Fish (var fishName: String){
private var myName = fishName
def name = myName
def name_= (newName: String) = myName = newName
def sayHello(otherFish : Fish) = println ("hello, " + otherFish.myName)
}
@yossale
yossale / robbyrussell.zsh
Last active Feb 7, 2016
My robbyrussell.zsh-theme adapted prompt line: timestamp, pwd, last cmd status => 10:26:26 tmp_code ➜
View robbyrussell.zsh
local ret_status="%(?:%{$fg_bold[green]%}➜ :%{$fg_bold[red]%}➜ %s)"
PROMPT='$fg[white]%* %{$fg_bold[green]%}%p %{$fg[cyan]%}%c %{$fg_bold[blue]%}$(git_prompt_info)${ret_status}%{$fg_bold[blue]%} % %{$reset_color%}'
ZSH_THEME_GIT_PROMPT_PREFIX="git:(%{$fg[red]%}"
ZSH_THEME_GIT_PROMPT_SUFFIX="%{$reset_color%}"
ZSH_THEME_GIT_PROMPT_DIRTY="%{$fg[blue]%}) %{$fg[yellow]%}✗%{$reset_color%}"
ZSH_THEME_GIT_PROMPT_CLEAN="%{$fg[blue]%})"
@yossale
yossale / slugline_shortner.js
Last active Dec 28, 2016
Fix "error: Value in [posts.slug] exceeds maximum length of 150 characters." error when importing from Wordpress to Ghost
View slugline_shortner.js
var fs = require('fs');
var filePath = process.argv[2];
var content = null;
fs.readFile(filePath, 'utf8', function (err, data) {
if (err) {
console.log('Error: ' + err);
return;
}
View ssh-tunneling-via-dmz.sh
alias ssh-tunnel='function _ssh_tunnel(){ set -x; port=$(gshuf -i 39152-65530 -n 1); ssh -f -N -L$port:$1:22 ec2-user@<DMZ_IP> -i ~/.ssh/dmz.pem ; ssh -i ~/.ssh/prod.pem ec2-user@127.0.0.1 -p $port ;};_ssh_tunnel'
# to run:
ssh-tunnel <SOME PROD IP>
@yossale
yossale / S3 move file.js
Created Jan 29, 2019
S3 read / copy / delete file
View S3 move file.js
const aws = require('aws-sdk');
const s3 = new aws.S3({apiVersion: '2006-03-01'});
const LambdaLog = require('lambda-log').LambdaLog;
const log = new LambdaLog({meta: {environment: process.env.ENVIRONMENT}});
async function deleteObject(bucket, currentPath) {
var params = {
View jackson-serde-config.java
@Configuration
public class AppConfig {
private static final String dateFormat = "yyyy-MM-dd";
private static final String dateTimeFormat = "yyyy-MM-dd HH:mm:ss";
@Bean
public Jackson2ObjectMapperBuilderCustomizer jsonCustomizer() {
return builder -> {
builder.serializers(new LocalDateTimeSerializer(