Skip to content

Instantly share code, notes, and snippets.

Jez Humble jezhumble

Block or report user

Report or block jezhumble

Hide content and notifications from this user.

Learn more about blocking users

Contact Support about this user’s behavior.

Learn more about reporting abuse

Report abuse
View GitHub Profile
@jezhumble
jezhumble / twitter_abuse.md
Last active Aug 29, 2015
A simple 3-step plan to prevent abuse on Twitter
View twitter_abuse.md
  • Bayesian filter to detect potential abusers, filtering on words, length of time the user has been active, number of tweets a user has sent, who the user has tweeted to, # of spam reports against the user
  • Anyone who is tweeted to on a regular basis by potential abusers gets flagged (not publicly visible of course) as being a target
  • Anyone who tweets at someone who is a target and triggers the Bayesian filter gets auto-suspended and has to submit a form explaining why they should be unblocked
View keybase.md

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:

View ato-signature-osbu-forecasting
-----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:
View ato-signature-apps-gov
-----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:
@jezhumble
jezhumble / config.json
Created Jun 2, 2017
DORA bootstrap config
View config.json
{
"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",
@jezhumble
jezhumble / coc.md
Last active Oct 5, 2017
Some notes on codes of conduct from a conference organizer's perspective
View coc.md

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 underrepresented groups, in particular the historically discriminated against: http://martinfowler.com/bliki/HistoricallyDiscriminatedAgainst.html
  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 w
View definitions
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.
View inclusion_rider.md

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
View 20111011_SteveYeggeGooglePlatformRant.md

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

View python_cloud_function_get_signed_url.py
# 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
You can’t perform that action at this time.