Skip to content

Instantly share code, notes, and snippets.

View bobhenkel's full-sized avatar
🚀

Bob Henkel bobhenkel

🚀
View GitHub Profile
@bobhenkel
bobhenkel / pr_etiquette.md
Created December 18, 2017 17:31 — forked from mikepea/pr_etiquette.md
Pull Request Etiquette

Pull Request Etiquette

Why do we use a Pull Request workflow?

PRs are a great way of sharing information, and can help us be aware of the changes that are occuring in our codebase. They are also an excellent way of getting peer review on the work that we do, without the cost of working in direct pairs.

Ultimately though, the primary reason we use PRs is to encourage quality in the commits that are made to our code repositories

Done well, the commits (and their attached messages) contained within tell a story to people examining the code at a later date. If we are not careful to ensure the quality of these commits, we silently lose this ability.

Converge

Converge is a configuration management tool that makes it easy to manage servers, laptops and other devices.

  • Easy to install and run.
  • Includes a powerful graph engine that automatically generates dependencies and runs tasks in parallel.
  • API-first. All communication runs through grpc.
dash_id=xxxx
api_key=xxx
app_key=xxx
# 1. export
curl -X GET "https://app.datadoghq.com/api/v1/dash/${dash_id}?api_key=${api_key}&application_key=${app_key}" > dash.json
# 2. edit dash.json
move "graphs", "title", "description" up one level in the json hierarchy, from being beneath "dash" to being at the same level
@bobhenkel
bobhenkel / pipeline.sh
Created September 4, 2018 13:55 — forked from toolmantim/pipeline.sh
Ensuring Buildkite pipeline steps run on the same agent, using a dynamic pipeline generator script
#!/bin/bash
# Outputs a pipeline that targets agents that have the same 'name' meta-data
# value as the step that does the pipeline upload. This means that all the
# steps will run on the same agent machine, assuming that the 'name' meta-data
# value is unique to each agent.
#
# Each agent needs to be configured with meta-data like so:
#
# meta-data="name=<unique-name>"
@bobhenkel
bobhenkel / clone-all-twitter-github-repos.sh
Created September 13, 2019 03:52 — forked from caniszczyk/clone-all-twitter-github-repos.sh
Clone all repos from a GitHub organization
curl -s https://api.github.com/orgs/twitter/repos?per_page=200 | ruby -rubygems -e 'require "json"; JSON.load(STDIN.read).each { |repo| %x[git clone #{repo["ssh_url"]} ]}'
@bobhenkel
bobhenkel / README
Created April 5, 2022 21:00 — forked from eqhmcow/README
docker wrapper
slightly-less-insecure-docker
wrapper around docker that perhaps makes it slightly less insecure
example usage:
DOCKER=/path/to/docker-wrapper
sudo $DOCKER run -it -v /etc/passwd:/etc/passwd -v /tmp:/tmp ubuntu
NOTE:
@bobhenkel
bobhenkel / freebsd-image.md
Created July 19, 2023 03:24 — forked from chr4/freebsd-image.md
OpenStack FreeBSD image creation

FreeBSD 12.0 OpenStack image creation

This was adapted from this document

ISO image creation

Download ISO image, then run:

openstack image create --file ~/Downloads/FreeBSD-12.0-RELEASE-amd64-disc1.iso --disk-format iso --container-format bare "FreeBSD-12.0-RELEASE-amd64-disc1.iso"