git show <hash>:<file>
git log -p <filename>
A checklist for designing and developing internet scale services, inspired by James Hamilton's 2007 paper "On Desgining and Deploying Internet-Scale Services."
The documentation for how to deploy a pipeline with extra, non-PyPi, pure Python packages on GCP is missing some detail. This gist shows how to package and deploy an external pure-Python, non-PyPi dependency to a managed dataflow pipeline on GCP.
TL;DR: You external package needs to be a python (source/binary) distro properly packaged and shipped alongside your pipeline. It is not enough to only specify a tar file with a setup.py
.
Your external package must have a proper setup.py
. What follow is an example setup.py
for our ETL
package. This is used to package version 1.1.1 of the etl library. The library requires 3 native PyPi packages to run. These are specified in the install_requires
field. This package also ships with custom external JSON data, declared in the package_data
section. Last, the setuptools.find_packages
function searches for all available packages and returns that
``` | |
17:09 $ python -mzeep 'https://listings.colliershub.com/Services/API/Currencies.svc?wsdl' | |
Traceback (most recent call last): | |
File "/usr/local/Cellar/python/2.7.12_2/Frameworks/Python.framework/Versions/2.7/lib/python2.7/runpy.py", line 174, in _run_module_as_main | |
"__main__", fname, loader, pkg_name) | |
File "/usr/local/Cellar/python/2.7.12_2/Frameworks/Python.framework/Versions/2.7/lib/python2.7/runpy.py", line 72, in _run_code | |
exec code in run_globals | |
File "/Users/vertrees/.virtualenvs/colliers_testing/lib/python2.7/site-packages/zeep/__main__.py", line 86, in <module> | |
main(args) | |
File "/Users/vertrees/.virtualenvs/colliers_testing/lib/python2.7/site-packages/zeep/__main__.py", line 75, in main |
In [7]: %paste | |
""" | |
Testing with Berkshire-Hathaway | |
""" | |
""" | |
Colliers API Testing | |
""" | |
import zeep |
Here we document our file format for importing CRE data into RealMassive. Third party data providers will be interested in this because, if they:
"""Checks to see if media URIs listed in the given file are valid. | |
Warning this is untested, shit code. | |
"Valid" means: | |
- the file is under 32 megs | |
- the file exists at the URI | |
Usage: | |
# check all URLs in the `your-uri-file.txt` and output failures only. |
# | |
# This will build the memtier_benchmark tool from Redis labs and | |
# run it against a Redis server running on your Mac's localhost. | |
# | |
git clone https://github.com/RedisLabs/memtier_benchmark.git | |
cd memtier_benchmark | |
docker build -t memtier_benchmark . | |
docker run --rm -it memtier_benchmark -s host.docker.internal |
# Service Graph: | |
kubectl -n istio-system port-forward $(kubectl -n istio-system get pod -l app=servicegraph -o jsonpath='{.items[0].metadata.name}') 8088:8088 & | |
# Kiali: | |
kubectl -n istio-system port-forward $(kubectl -n istio-system get pod -l app=kiali -o jsonpath='{.items[0].metadata.name}') 20001:20001 & | |
# Grafana: | |
kubectl -n istio-system port-forward $(kubectl -n istio-system get pod -l app=grafana -o jsonpath='{.items[0].metadata.name}') 3000:3000 & | |
# Prometheus: |
When I click on links from Slack or Outlook on MacOS they open in seemingly random browser windows/profiles. This is annoying.
Open links in a particular google chrome profile window. Be less annoyed.
chrome://version
and find the desired profile name. Mine was Default
. Copy that profile's directory name, like Profile 2
or Default
, not the profile's vanity name you see when you click on your profile icon in the browser.brew install finicky
. After install it should be running and you should see the icon in the upper toolbar.> Config > Create New
~/.finicky
and make it look something like this, filling in your profile name: