Skip to content

Instantly share code, notes, and snippets.

@DaneWeber
DaneWeber / Brewfile
Created Mar 16, 2021
Sample Brewfile
View Brewfile
tap "homebrew/bundle"
tap "homebrew/cask"
tap "homebrew/core"
cask "docker"
cask "iterm2"
cask "visual-studio-code"
@DaneWeber
DaneWeber / Brewfile
Created Mar 15, 2021
Gentle idempotent Mac dev setup
View Brewfile
tap "homebrew/bundle"
tap "homebrew/cask"
tap "homebrew/core"
cask "docker"
cask "iterm2"
cask "visual-studio-code"
@DaneWeber
DaneWeber / IncidentResponse.md
Created Jan 6, 2021
Notes on incident response
View IncidentResponse.md

Incident Response

One incident response approach:

  • ChatOps
    • Time-stamped record of actions taken.
    • Transparent for any interested party to review.
    • Reduces need to answer questions about status and next steps.
    • Can integrate with alerts and more advanced bots.
  • Incident Commander
View keybase.md

Keybase proof

I hereby claim:

  • I am daneweber on github.
  • I am daneweber (https://keybase.io/daneweber) on keybase.
  • I have a public key ASDj2P-TIqdncADPOvVRgUqIFcKQqqx-gSkL60Vs1O03kgo

To claim this, I am signing this object:

@DaneWeber
DaneWeber / create-minecraft-sync-task.ps1
Created Sep 10, 2018
Sync Minecraft saves via cloud syncing solution like OneDrive
View create-minecraft-sync-task.ps1
$syncScript = $PSScriptRoot + "\sync-minecraft-saves.ps1"
$minuteRepeat = 10
schtasks /create /sc minute /mo $minuteRepeat /ru System /tn "Minecraft Save Sync" /tr "powershell.exe -NoLogo -WindowStyle hidden -file $syncScript"
@DaneWeber
DaneWeber / nightRoute.rb
Created Aug 2, 2018
2018-08-02 Bits, Please! Code Fight
View nightRoute.rb
def nightRoute(city)
final = city.length - 1
hops = {}
hops[0] = city[0].each_with_index.map{ |length, island| length == -1 ? nil : [0, island] }.compact
(1..final).each do |iter|
hops[iter] = hops[iter - 1].map do |path|
if path[-1] == final
nil
else
city[path[-1]].each_with_index.map do |length, island|
@DaneWeber
DaneWeber / perfectCity.rb
Created Jul 26, 2018
2018-07-26 Bits, Please! Code Fight
View perfectCity.rb
def perfectCity(departure, destination)
diff(departure[0], destination[0]) + diff(departure[1], destination[1])
end
def diff(dep, dest)
naiveDiff = (dep - dest).abs
extraDiff = 0
if dep.ceil == dest.ceil
lower, higher = [dep, dest].sort
extraDiff = [lower - lower.floor, higher.ceil - higher].min * 2
@DaneWeber
DaneWeber / Jenkinsfile
Created Jul 15, 2018
Conflict Manager - check git branches for conflicts early and often
View Jenkinsfile
// This defines a cron trigger for a scripted Jenkinsfile:
properties([pipelineTriggers([cron('*/10 8-22 * * 1-5')])])
node {
stage('Checkout Repo with Script') {
checkout scm
}
dir('conflict-checker') {
stage('Check branches for merge conflicts') {
// These were defined in the Jenkinsfile for my particular needs, but don't have to be.
@DaneWeber
DaneWeber / swagger2pdf-Makefile
Last active Oct 30, 2018
Makefile command to use docker images for swagger2markdown piped to asciidoctor
View swagger2pdf-Makefile
# swagger2markup output fed to asciidoctor-pdf - all via published docker images
# The following is a Makefile command in the root of a web service repo with the following assumptions:
# ./swagger/v1/swagger.json is the swagger definition (created by rswag in my case)
# ./_docs/ is where we want the PDF and intermediate ADOC to live
# The ADOC file is pretty useful, but if you just want the PDF, it's a byproduct you might want to clean up
api_pdf:
docker run --rm -v $(shell pwd):/opt swagger2markup/swagger2markup convert -i /opt/swagger/v1/swagger.json -f /opt/_docs/api-definition
docker run --rm -v $(shell pwd)/_docs:/documents/ asciidoctor/docker-asciidoctor asciidoctor-pdf api-definition.adoc
@DaneWeber
DaneWeber / repo_states.sh
Created Sep 28, 2017
Quick status on all git repos in a directory. Based on this answer: https://unix.stackexchange.com/a/394245/63051
View repo_states.sh
# Run the following from a directory containing multiple git repositories
# The `28` in the printf command is arbitrary and just matches the number of characters in the longest-named repo I have.
function repo_states () {
for repo in */; do
printf '%-28s' "$repo"
( cd "$repo" && git status --short --branch --untracked-files=no )
done
}