Skip to content

Instantly share code, notes, and snippets.

View tlockney's full-sized avatar

Thomas Lockney tlockney

View GitHub Profile
@tlockney
tlockney / Vagrantfile
Last active August 29, 2015 13:57
This setup allows for quick hacking with an sbt console on an EC2 instance -- very useful for trying out the AWS APIs when you need to try things out. As an example, I wanted to make sure I understood how to get the various bits of meta-data that are visible only on EC2. Create the following files and run setup.sh to run everything.
Vagrant.configure("2") do |config|
config.vm.box = "dummy"
config.vm.provider :aws do |aws, override|
aws.access_key_id = "..."
aws.secret_access_key = "..."
# you'll need to create the EC2 keypair used here -- I called it vagrant for easy tracking
aws.keypair_name = "vagrant"
# you'll want to use a group that has at least SSH open
@tlockney
tlockney / Foo.java
Created June 13, 2014 01:10
A simple example where basic String concatenation in Java is really better than a StringBuilder.
public class Foo {
static final String aConstant = "a constant";
public void concatSimpleString() {
String aString = "one" + aConstant + "two";
}
public void concatWithStringBuilder() {
StringBuilder sb = new StringBuilder();
@tlockney
tlockney / .tmux.conf
Created June 18, 2014 17:07
Tmux conf for remapping the prefix key
# set the command prefix to `
set -g prefix "`"
unbind C-b
bind "`" send-prefix
@tlockney
tlockney / gist:1a0dbe6f8bd437b07d5f
Created February 8, 2015 06:55
Get a new random port
lazy val port = new ServerSocket(0).getLocalPort()
@tlockney
tlockney / questions.md
Last active November 24, 2015 08:10
What questions would you put on a phone screen for a distributed systems position?

What questions would you put on a phone screen for a distributed systems position?

These come from @tsantero with the last two additions being curteousy of @ifesdjeen in reply to this question from @SeanTAllen.

  1. explain the life of an http request.
  2. what does the FLP result teach us?
  3. what is a byzantine failure?
  4. explain CRDTs
  5. explain linearizability.
  6. how does DNS work?
function ct
# infer a session name from the current dir and normalize it for a valid tmux session name
set -g session (basename (pwd) | sed 's/[\.\-]/_/g')
tmux attach -t $session; or tmux new-session -s $session
end
@tlockney
tlockney / tmux.conf
Last active May 18, 2017 13:53
Make tmux awesome (probably not nearly as awesome as it *could* be)
# set the command prefix to `
set -g prefix "`"
unbind C-b
bind "`" send-prefix
# listen to alerts from all windows
set -g bell-action any
set -g default-shell /usr/local/bin/fish
set -g default-command fish
@tlockney
tlockney / either example
Created September 14, 2016 17:21
Simple example of right-biased Either
[info] Loading global plugins from /Users/tlockn/.sbt/0.13/plugins
[info] Set current project to eitherdemo (in build file:/Users/tlockn/tmp/eitherDemo/)
SBT  eitherdemo  set scalaVersion := "2.11.7"
[info] Defining *:scalaVersion
[info] The new value will be used by *:allDependencies, *:crossScalaVersions and 12 others.
[info] Run `last` for details.
[info] Reapplying settings...
[info] Set current project to eitherdemo (in build file:/Users/tlockn/tmp/eitherDemo/)
SBT  eitherdemo  console
[info] Updating {file:/Users/tlockn/tmp/eitherDemo/}eitherdemo...
@tlockney
tlockney / reading.md
Last active March 29, 2017 03:47
How I read so much

I've been asked by a few colleagues how I manage to read so much, so I thought I'd just write this up once so I can link to it later. :~)

First, here are a few articles that touch on some of the keys to how I read so much and how I make sure I remember the important bits:

I can’t say I follow these exact principles – among other things, I’m definitely less diligent about some of my reading than what they outline. But that’s a conscious choice in many (but not all) cases.

@tlockney
tlockney / boxstarter.ps1
Last active August 28, 2018 04:27 — forked from jessfraz/boxstarter.ps1
Boxstarter Commands for a new Windows box.
# Description: Boxstarter Script
# Author: Jess Frazelle <[email protected]>
# Last Updated: 2017-09-11
#
# Install boxstarter:
# . { iwr -useb http://boxstarter.org/bootstrapper.ps1 } | iex; get-boxstarter -Force
#
# You might need to set: Set-ExecutionPolicy RemoteSigned
#
# Run this boxstarter by calling the following from an **elevated** command-prompt: