Skip to content

Instantly share code, notes, and snippets.

View wsargent's full-sized avatar

Will Sargent wsargent

View GitHub Profile
@wsargent
wsargent / TracerBulletController.scala
Last active January 23, 2018 17:23
Supports tracer bullet dynamic logging
package controllers
import javax.inject._
import play.api.mvc._
@Singleton
class TracerBulletController @Inject() extends Controller {
private val logger = org.slf4j.LoggerFactory.getLogger("application")
/*
import akka.actor.ActorRef;
import akka.actor.ActorSystem;
import akka.util.Timeout;
import scala.compat.java8.FutureConverters;
import scala.concurrent.Future;
import java.util.concurrent.CompletionStage;
import java.util.concurrent.TimeUnit;
public class JavaActorLookup {
@wsargent
wsargent / README.md
Created September 8, 2016 00:37 — forked from loicknuchel/README.md
Missing features in Play i18n
@wsargent
wsargent / service-checklist.md
Created September 12, 2016 17:27 — forked from acolyer/service-checklist.md
Internet Scale Services Checklist

Internet Scale Services Checklist

A checklist for designing and developing internet scale services, inspired by James Hamilton's 2007 paper "On Desgining and Deploying Internet-Scale Services."

Basic tenets

  • Does the design expect failures to happen regularly and handle them gracefully?
  • Have we kept things as simple as possible?
@wsargent
wsargent / worktree.sh
Created October 5, 2016 15:27
Git worktree script
export WORKDIR=$HOME/work
# Creates a working tree to check out a branch locally.
# This is useful when you have multiple branches on origin,
# and want to pull work work with them
function worktree() {
# We assume we're always under $WORKDIR somewhere.
# Go down the tree until we know what project we're in.
while [[ "$(dirname "$PWD")" != $WORKDIR ]] ; do
find "$PWD"/ -maxdepth 1 "$@"
# Usage: gh-clone lagom lagom to checkout lagom/lagom
function gh-clone() {
OWNERNAME=$1;
PROJNAME=$2;
cd $WORKDIR;
mkdir $PROJNAME;
cd $PROJNAME;
hub init -g
hub clone $OWNERNAME/$PROJNAME master;
cd master;
@wsargent
wsargent / win10-dev.md
Last active March 21, 2024 04:27
Windows Development Environment for Scala

Windows 10 Development Environment for Scala

This is a guide for Scala and Java development on Windows, using Windows Subsystem for Linux, although a bunch of it is applicable to a VirtualBox / Vagrant / Docker subsystem environment. This is not complete, but is intended to be as step by step as possible.

Harden Windows 10

Read the entire Decent Security guide, and follow the instructions, especially:

export DEFAULT_USER=wsargent
source $HOME/.antigen/antigen.zsh
# Load the oh-my-zsh's library.
antigen use oh-my-zsh
# Bundles from the default repo (robbyrussell's oh-my-zsh).
antigen bundle git
antigen bundle pip
[error] com.typesafe.play#sbt-plugin;2.6.0-SNAPSHOT!sbt-plugin.jar origin location must be absolute: C:\Users\wsargent\.ivy2\local\com.typesafe.play\sbt-plugin\scala_2.10\sbt_0.13\2.6.0-SNAPSHOT\jars\sbt-plugin.jar
java.lang.IllegalArgumentException: com.typesafe.play#sbt-plugin;2.6.0-SNAPSHOT!sbt-plugin.jar origin location must be absolute: C:\Users\wsargent\.ivy2\local\com.typesafe.play\sbt-plugin\scala_2.10\sbt_0.13\2.6.0-SNAPSHOT\jars\sbt-plugin.jar
at org.apache.ivy.util.Checks.checkAbsolute(Checks.java:57)
at org.apache.ivy.core.cache.DefaultRepositoryCacheManager.getArchiveFileInCache(DefaultRepositoryCacheManager.java:387)
at org.apache.ivy.core.cache.DefaultRepositoryCacheManager.download(DefaultRepositoryCacheManager.java:851)
at org.apache.ivy.plugins.resolver.BasicResolver.download(BasicResolver.java:835)
at org.apache.ivy.plugins.resolver.RepositoryResolver.download(RepositoryResolver.java:282)
at org.apache.ivy.core.resolve.ResolveEngine.downloadAr
@wsargent
wsargent / doc.md
Created June 8, 2017 20:06 — forked from retronym/doc.md
Scripts for convenient access to Scala pre-release builds