Skip to content

Instantly share code, notes, and snippets.

View mslinn's full-sized avatar

Mike Slinn mslinn

View GitHub Profile

Greasing the Skids: Building Remote Teams

In the wake of the virus that-must-not-be-named (which most people misname anyway), it seems like everyone and their cat has posted some sort of opinion or how-to on making remote work, work. This is a good thing! Working remotely, particularly full-time, is hard! I've done it for my entire career (aside from an odd 14 month office period in the middle that we shall not speak of), but more relevantly, for the past two years I've been responsible for building, managing, and enabling an entirely remote team, distributed across nine timezones. Remote teams don't just happen by installing Slack and telling everyone to work on their couch: they require a lot of effort to do correctly and efficiently. But, done right, it can be a massive multiplier on your team efficiency and flexibility.

Here's how we do it. I'm going to attempt to structure this post more towards management than engineering, and so I apologize in advance if I assume terminology or knowledge which

@mslinn
mslinn / gist:afda334db4a8d7d882ef89794ec3ec72
Last active December 6, 2016 18:25 — forked from lihaoyi/gist:1ebdd89b065a741a1ea72b5d780b9ab1
Setting up a "Walk through pre-loaded example snippets every time you press spacebar" experience in the Ammonite REPL
lihaoyi Ammonite$ amm
Loading...
Welcome to the Ammonite Repl 0.8.0
(Scala 2.11.8 Java 1.8.0_112)
@ {
val funnyFilter = ammonite.terminal.Filter.simple(" ")((b, c, m) =>
if (FunnyFrontEnd.nextLine == Nil) (b.take(c) ++ " " ++ b.drop(c), c+1)
else {
val head :: tail = FunnyFrontEnd.nextLine
FunnyFrontEnd.nextReader = new java.io.StringReader(head)
@mslinn
mslinn / open-w-atom.reg
Last active November 18, 2016 08:04 — forked from kyle-ilantzis/open-w-atom.reg
Adds 'Open in Atom' to context menu in Windows Explorer.
Windows Registry Editor Version 5.00
;
; Adds 'Open in Atom' to context menu (when you right click) in Windows Explorer.
;
; Based on https://github.com/Zren/atom-windows-context-menu. It didn't work
; https://github.com/Zren/atom-windows-context-menu/issues/1.
;
; Save this file to disk with a .reg extension. Replace C:\\Atom\\atom.exe with
; the path to the atom executable on your machine.

Advanced Functional Programming with Scala - Notes

Copyright © 2017 Fantasyland Institute of Learning. All rights reserved.

1. Mastering Functions

A function is a mapping from one set, called a domain, to another set, called the codomain. A function associates every element in the domain with exactly one element in the codomain. In Scala, both domain and codomain are types.

val square : Int => Int = x => x * x
@mslinn
mslinn / zoom_xfce4_terminal.sh
Last active February 12, 2016 16:26 — forked from samuell/zoom_xfce4_terminal.sh
Place this in your ```~/.bash_aliases``` file.
CONFIG=~/.config/xfce4/terminal/terminalrc
# Prevent terminal window losing focus
# sudo apt-get install xdotool wmctrl
get_winid() {
xwininfo -name "$(xdotool getwindowfocus getwindowname)" | \
grep 'Window id:' | \
cut -d" " -f4
}
@mslinn
mslinn / git-maintenance
Created August 14, 2013 04:06 — forked from evnm/gitm
#! /bin/sh
git fetch
git remote prune origin
git repack -a -d --depth=250 --window=250
@mslinn
mslinn / PaypalController.scala
Last active June 9, 2017 22:22 — forked from alpeb/Paypal.scala
Paypal IPN script for Play 2.1
package controllers
import play.api._
import libs.ws.WS
import play.api.mvc._
import com.micronautics.paypal.{TransactionProcessor, PaypalTransactions}
import java.net.URLEncoder
import concurrent.{Await, ExecutionContext}
import concurrent.duration.Duration
import java.util.concurrent.TimeUnit