Skip to content

Instantly share code, notes, and snippets.

View jezhumble's full-sized avatar

Jez Humble jezhumble

View GitHub Profile
# Copyright 2019 Google LLC.
# SPDX-License-Identifier: Apache-2.0
# This snippet shows you how to use Blob.generate_signed_url() from within compute engine / cloud functions
# as described here: https://cloud.google.com/functions/docs/writing/http#uploading_files_via_cloud_storage
# (without needing access to a private key)
# Note: as described in that page, you need to run your function with a service account
# with the permission roles/iam.serviceAccountTokenCreator
import os, google.auth
from google.auth.transport import requests

Stevey's Google Platforms Rant

I was at Amazon for about six and a half years, and now I've been at Google for that long. One thing that struck me immediately about the two companies -- an impression that has been reinforced almost daily -- is that Amazon does everything wrong, and Google does everything right. Sure, it's a sweeping generalization, but a surprisingly accurate one. It's pretty crazy. There are probably a hundred or even two hundred different ways you can compare the two companies, and Google is superior in all but three of them, if I recall correctly. I actually did a spreadsheet at one point but Legal wouldn't let me show it to anyone, even though recruiting loved it.

I mean, just to give you a very brief taste: Amazon's recruiting process is fundamentally flawed by having teams hire for themselves, so their hiring bar is incredibly inconsistent across teams, despite various efforts they've made to level it out. And their operations are a mess; they don't real

Inclusion Rider

I'm lucky enough to get asked to speak at a number of conferences, and I want to make sure I use that privilege to help improve the state of the industry. As a result I've put together a list to make sure the conferences I speak at reflect my values:

For all events

  • Code of Conduct: There must be a code of conduct that is clearly visible on the front page of the website, and which covers all conference participants including sponsors. The code of conduct must include details on who to contact and guidelines on enforcement and reporting. A good sample code of conduct is available at http://geekfeminism.wikia.com/wiki/Conference_anti-harassment/Policy
  • Speaker diversity: At least 40% of speakers (including keynote speakers) must be women or nonbinary folks, and if the conference is held in North America, Europe, or Australia/NZ, at least 5% must be of non-European origin. If you would like me to speak on a panel, there must be at least two women on the panel.
  • Bathrooms: There m
@jezhumble
jezhumble / coc.md
Last active November 9, 2019 05:19
Some notes on codes of conduct from a conference organizer's perspective

Some notes on codes of conduct from a conference organizer's perspective

  1. The customers of a Code of Conduct are the people whom it is protecting. For tech conferences, that means marginalized people.
  2. The Code of Conduct is a promise to its customers from the conference organizers that they will be in a safe space, and that they will be protected and given the benefit of the doubt in the event of something bad happening.
  3. Thus the wording of a code of conduct should be decided by its customers. The Geek Feminism wiki hosts an example code of conduct: http://geekfeminism.wikia.com/wiki/Anti-harassment_policy_resources
  4. The legal basis of a code of conduct is my right, as an event organizer, to kick anybody out of my private event for any reason, even if they have paid. This happens all the time, often with the most flimsy excuses: http://www.hannahettinger.com/guest-post-by-clare/

If you, as a non-customer of the CoC, are not

@jezhumble
jezhumble / inventory_vpcs.py
Last active October 9, 2019 05:52
List EC2, RDS and ElastiCache instances, grouped by VPC
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
import argparse, sys, boto3
from colorama import Fore, Style
def count(my_list, my_key):
if my_key not in my_list:
return '0'
else:
Continuous Delivery: The ability to get changes—features, configuration changes, bug fixes, experiments—into production or into the hands of users safely and quickly in a sustainable way.
DevOps movement: A cross-functional community of practice dedicated to the study of building, evolving and operating rapidly changing, secure, resilient systems at scale.
Continuous Delivery TLDR: make releases a boring, push-button activity that can be performed at any time.
@jezhumble
jezhumble / config.json
Created June 2, 2017 02:04
DORA bootstrap config
{
"vars": {
"@gray-base": "#000",
"@gray-darker": "lighten(@gray-base, 13.5%)",
"@gray-dark": "lighten(@gray-base, 20%)",
"@gray": "lighten(@gray-base, 33.5%)",
"@gray-light": "lighten(@gray-base, 46.7%)",
"@gray-lighter": "lighten(@gray-base, 93.5%)",
"@brand-primary": "#165F8C",
"@brand-success": "#5cb85c",
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA512
- -----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA512
Apps.gov Authorization Decision
Product Owner: Andrew Stroup | System Owner: Andrew Stroup
Thru:
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA512
- -----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA512
ASBO Forecasting Authorization Decision
Product Owner: Jerome Fletcher | System Owner: Alla Seiffert
Thru:

Keybase proof

I hereby claim:

  • I am jezhumble on github.
  • I am jezhumblegov (https://keybase.io/jezhumblegov) on keybase.
  • I have a public key whose fingerprint is E03B 7A79 5183 F146 C65A 1244 93D0 2589 8F3E D486

To claim this, I am signing this object: