- Humans build and fix systems.
- Humans get tired and stressed, they feel happy and sad.
- Systems don't have feelings yet. They only have SLAs.
- Humans need to switch off and on again.
- The wellbeing of human operators impacts the reliability of systems.
- Alert Fatigue == Human Fatigue
- Automate as much as possible, escalate to a human as a last resort.
- Document everything. Train everyone. Save time.
- Kill the shame game.
- Human issues are system issues.
{ | |
"title": "F + HJKL", | |
"rules": [ | |
{ | |
"description": "Vi'ish Mode [F as Trigger Key]", | |
"manipulators": [ | |
{ | |
"type": "basic", | |
"parameters": { | |
"basic.to_delayed_action_delay_milliseconds": 150, |
#!/bin/bash | |
## FORSTWOOF UBUNTU PRESEED :: BUILD SCRIPT | |
# Quit on first error | |
set -e | |
# Temporary directory for the build | |
TMP="/var/tmp/ubuntu-build" |
ASUS makes a pretty handy Chromebox, and it's handy not just because it's running ChromeOS, it's handy because of everything you can do to the box itself.
The ASUS Chromebox is easily upgradeable, and capable of running just about any linux distribution.
The model I picked up, the M004U has the following specs:
- Celeron 2955U (1.4GHz) 64 bit Dual core processor with 2MB L3 Cache
- 2GB DDR3 1600 RAM with 2 slots
- 16GB SSD HDD
- 802.11 b/g/n dual-band wireless, Bluetooth 4.0, and gigabit ethernet
Based on info from http://peterdowns.com/posts/open-iterm-finder-service.html but with modified behavior and fixed to work with iTerm2 version 3 or later. It will not work with older versions of iTerm. The modified behavior is to open a new terminal window for each invocation instead of reusing an already open window. Update - The original author released a build script for the newer iTerm2 versions at https://github.com/peterldowns/iterm2-finder-tools that keeps the original behavior of reusing an open iTerm2 window.
- Run Automator, select a new Service
- Select Utilities -> Double click ‘Run AppleScript’
- Service receives selected 'folders' in 'finder.app'
- Paste script:
import os | |
import socket | |
from OpenSSL import crypto, SSL | |
# OpenVPN is fairly simple since it works on OpenSSL. The OpenVPN server contains | |
# a root certificate authority that can sign sub-certificates. The certificates | |
# have very little or no information on who they belong to besides a filename | |
# and any required information. Everything else is omitted or blank. | |
# The client certificate and private key are inserted into the .ovpn file | |
# which contains some settins as well and the entire thing is then ready for |
#!/usr/bin/python | |
# run the script: python git-find-big-files.py <the branch> <file size> | |
# Example use: python git-find-big-files.py fix-remove-files 1000000 (this value equals 1 Megabyte) | |
# the Fix-remove-files specifies the branch that you are cleaning | |
import os, sys | |
def getOutput(cmd): | |
return os.popen(cmd).read() |
#http://askubuntu.com/questions/379123/can-i-zoom-out-windows-or-scale-the-whole-desktop | |
xrandr --output LVDS1 --mode 1920x1080 --scale 2x2 --fb 3840x2160 --panning 3840x2160 | |
# 3k | |
# xrandr --output LVDS1 --mode 1920x1080 --scale 1.5x1.5 --fb 2880x1620 --panning 2880x1620 |
function ConvertFrom-JsonToCsv { | |
param( | |
[Parameter(ValueFromPipeline)] | |
$json | |
) | |
Process { | |
($json | ConvertFrom-Json) | ConvertTo-Csv -NoTypeInformation | |
} | |
} |