Skip to content

Instantly share code, notes, and snippets.

@erlichmen
erlichmen / download_logs.py
Created May 21, 2019 09:57
Downloads Google cloud functions logs between two times
#!/usr/bin/env python
import argparse
import subprocess
import re
parser = argparse.ArgumentParser()
parser.add_argument('function')
parser.add_argument('--start-time')
parser.add_argument('--end-time')
parser.add_argument('--filter')

Keybase proof

I hereby claim:

  • I am erlichmen on github.
  • I am erlichmen (https://keybase.io/erlichmen) on keybase.
  • I have a public key whose fingerprint is 4B53 72E1 2ADC 97BA 4781 966E 84C8 7FB9 CFAC 94CA

To claim this, I am signing this object:

@erlichmen
erlichmen / gist:98d6dfa50e56a22958eb
Created November 26, 2014 09:47
Detecting new instance creation at runtime on Google App Engine
current_instance_id = None
def is_loading_request_wsgi_middleware(app):
import logging
def is_loading_request_wsgi_middleware_wrapper(environ, start_response):
global current_instance_id
if current_instance_id != environ.get('INSTANCE_ID'):
current_instance_id = environ.get('INSTANCE_ID')
<?xml version="1.0" encoding="UTF-8"?>
<!-- custom rules with testfairy standalone -->
<project name="custom_rules" default="help">
<import file="testfairy/testfairy_build.xml"/>
</project>
@erlichmen
erlichmen / app,yaml
Created June 4, 2014 06:56
Better deferred handler names for debugging and appstats
- url: /_ah/queue/deferred/.*
script: google.appengine.ext.deferred.application
@erlichmen
erlichmen / keybase.md
Created April 14, 2014 12:14
keybase.md

Keybase proof

I hereby claim:

  • I am erlichmen on github.
  • I am erlichmen (https://keybase.io/erlichmen) on keybase.
  • I have a public key whose fingerprint is 0734 E966 F36B 9DA0 73C6 522F 05C9 DEB8 BFFD 8022

To claim this, I am signing this object:

@erlichmen
erlichmen / appengine_config.py
Created December 9, 2013 22:29
A poor man's lowercase URL rewrite rule for Google App Engine
def lowercase_wsgi_middleware(app):
def lowercase_wsgi_middleware_wrapper(environ, start_response):
environ['SCRIPT_NAME'] = environ['SCRIPT_NAME'].lower()
environ['PATH_INFO'] = environ['PATH_INFO'].lower()
return app(environ, start_response)
return lowercase_wsgi_middleware_wrapper
def webapp_add_wsgi_middleware(app):
Pod::Spec.new do |s|
s.name = 'GTMStacktrace'
s.homepage = 'https://code.google.com/p/google-toolbox-for-mac/'
s.license = 'Apache License, Version 2.0'
s.version = '0.0.624'
s.summary = 'The Stacktrace utility from Google Toolkit for Mac (GTM).'
s.author = {
'Shay Erlichmen' => 'shay@shakka.me '
}
s.source = {