Skip to content

Instantly share code, notes, and snippets.

View tzachz's full-sized avatar

Tzach Zohar tzachz

View GitHub Profile
@tzachz
tzachz / tzachz.zsh-theme
Created March 15, 2015 15:26
My oh-my-zshell theme
local ret_status="%(?:%{$fg_bold[green]%}➜ :%{$fg_bold[red]%}➜ %s)"
PROMPT='⌚ %{$fg_bold[red]%}%*%{$reset_color%} ${ret_status}%{$fg_bold[green]%}%p %{$fg[cyan]%}%c %{$fg_bold[blue]%}$(git_prompt_info)%{$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]%})"
@tzachz
tzachz / UserValidator.java
Created June 6, 2015 14:43
Functions should not have side effects (from Clean Code, p.44)
public class UserValidator {
private Cryptographer cryptographer;
public boolean checkPassword(String userName, String password) {
User user = UserGateway.findByName(userName);
if (user != User.NULL) {
String codedPhrase = user.getPhraseEncodedByPassword();
String phrase = cryptographer.decrypt(codedPhrase, password);
if ("Valid Password".equals(phrase)) {
Session.initialize();
@tzachz
tzachz / StaticClass.java
Created September 1, 2015 12:59
Java behavior when static constructor throws exception
public class StaticClass {
static {
throwsException();
}
private static void throwsException() {
throw new RuntimeException("bam!");
}
@tzachz
tzachz / SparkAppStats.scala
Created November 4, 2015 19:47
Spark REST API usage example: shuffle memory totals
import org.json4s._
import org.json4s.jackson.JsonMethods.parse
import scala.io.Source.fromURL
object SparkAppStats {
/**
* (partial) representation of a Spark Stage object
*/
case class SparkStage(name: String, shuffleWriteBytes: Long, memoryBytesSpilled: Long, diskBytesSpilled: Long)
@tzachz
tzachz / SparkContextInstrumentor.scala
Created November 4, 2015 22:20
Expose Spark's cache memory status as Metrics Gauges
import com.yammer.metrics.Metrics
import com.yammer.metrics.core.Gauge
import org.apache.spark.SparkContext
/**
* Created by tzachz on 10/21/15
*/
object SparkContextInstrumentor {
def instrument(context: SparkContext): SparkContext = {
@tzachz
tzachz / build.gradle
Created February 27, 2013 12:59
Dropwizard gradle build file
// fetch the relevant plugin code
buildscript {
repositories {
mavenCentral()
}
dependencies {
classpath 'eu.appsatori:gradle-fatjar-plugin:0.2-rc1'
classpath 'com.kenshoo:gradle-fpm:+'
}
}
import ch.qos.logback.classic.Logger;
import ch.qos.logback.classic.LoggerContext;
import ch.qos.logback.classic.spi.ILoggingEvent;
import com.yammer.dropwizard.ConfiguredBundle;
import com.yammer.dropwizard.config.Bootstrap;
import com.yammer.dropwizard.config.Environment;
import com.yammer.dropwizard.logging.AsyncAppender;
import me.moocar.logbackgelf.GelfAppender;
import org.slf4j.LoggerFactory;
@tzachz
tzachz / init.pp
Last active December 14, 2015 07:18
Dropwizard service puppet code
# sets up a dropwizard-based service packaged as debian
# requires: puppetlabs-apt, puppetlabs-stdlib
class sample-dw-service (
$version='latest', # you can pass a specified version, default is latest
$db_url='' # this is how you pass environment-specific configuration - in this case, a DB URL
) {
# refresh apt
notify { "refreshing apt":
notify => Class['apt::update'],
@tzachz
tzachz / MyTest.java
Created July 22, 2013 07:22
logback verifier usage
import ch.qos.logback.classic.Level;
import com.kenshoo.test.LogbackVerifier;
import org.junit.Rule;
import org.junit.Test;
public class MyTest {
@Rule
public LogbackVerifier logbackVerifier = new LogbackVerifier();
@tzachz
tzachz / OddMockitoStuffTest.java
Created September 24, 2013 15:31
Confusing Mockito behavior with overriding interfaces
package com.kenshoo.rtb.tools;
import org.junit.Test;
import static junit.framework.Assert.assertTrue;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.when;
/**
* Created by IntelliJ IDEA.