Skip to content

Instantly share code, notes, and snippets.

View GrantBirki's full-sized avatar
🌍

Grant Birkinbine GrantBirki

🌍
View GitHub Profile

Keybase proof

I hereby claim:

  • I am grantbirki on github.
  • I am grantbirki (https://keybase.io/grantbirki) on keybase.
  • I have a public key ASA_HXw0Co0Kp4OjSiZH51tCpt4iMobjf17_r-VpJ0cz7wo

To claim this, I am signing this object:

@GrantBirki
GrantBirki / nrql.sql
Last active April 9, 2021 05:56
Fastly-to-Insights NRQL
SELECT average(status_2xx) FROM FastlyLogAggregate since 30 minutes ago TIMESERIES 15 minutes facet service
SELECT average(status_3xx) FROM FastlyLogAggregate since 30 minutes ago TIMESERIES 15 minutes facet service
SELECT average(status_4xx) FROM FastlyLogAggregate since 30 minutes ago TIMESERIES 15 minutes facet service
SELECT average(status_5xx) FROM FastlyLogAggregate since 30 minutes ago TIMESERIES 15 minutes facet service
SELECT average(hits) FROM FastlyLogAggregate since 30 minutes ago TIMESERIES 15 minutes facet service
SELECT average(miss) FROM FastlyLogAggregate since 30 minutes ago TIMESERIES 15 minutes facet service
SELECT average(miss_time) FROM FastlyLogAggregate since 30 minutes ago TIMESERIES 15 minutes facet service
@GrantBirki
GrantBirki / grantbirki-gpg.sh
Created July 23, 2021 23:03
Encrypt a message to me using my public GPG key
curl -s https://github.com/grantbirki.gpg | gpg --import > /dev/null 2>&1; echo "<message>" | gpg -ear grantbirki@github.com
@GrantBirki
GrantBirki / down-detector-screenshot.py
Last active January 9, 2022 05:32
DownDetector Screenshot Scraper
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
from PIL import Image
from selenium.webdriver.common.by import By
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.support.ui import WebDriverWait
from io import BytesIO
options = Options()
# Enable headless mode (optional)
@GrantBirki
GrantBirki / tarkov-time-python.py
Created March 1, 2022 07:49
Tarkov Time in Python
from datetime import datetime
# 7 seconds for every one second in real time
TARKOV_RATIO = 7
def real_time_to_tarkov_time(time, left = True):
"""
Convert real time to Tarkov time
:param time: Current UTC epoch in milliseconds -> int(datetime.datetime.utcnow().timestamp()) * 1000
:param left: True if left side, False if right side (Think eft in-game clock)
@GrantBirki
GrantBirki / branch-deploy.yml
Last active May 19, 2022 03:24
Branch Deploy Segment #1
# The name of the workflow, it can be anything you wish
name: "branch deploy demo"
# The workflow to execute on is comments that are newly created
on:
issue_comment:
types: [created]
@GrantBirki
GrantBirki / branch-deploy.yml
Last active June 17, 2022 18:14
Branch Deploy Segment #2
# Permissions needed for reacting and adding comments for IssueOps commands
permissions:
pull-requests: write
deployments: write
contents: write
@GrantBirki
GrantBirki / branch-deploy.yml
Created May 19, 2022 03:20
Branch Deploy Segment #3
jobs:
demo:
runs-on: ubuntu-latest
steps:
# Checkout your projects repository
- uses: actions/checkout@3.0.2
@GrantBirki
GrantBirki / branch-deploy.yml
Last active June 17, 2022 18:14
Branch Deploy Segment #4
# Execute IssueOps branch deployment logic, hooray!
- uses: github/branch-deploy@vX.X.X
id: branch-deploy
with:
trigger: ".deploy"
@GrantBirki
GrantBirki / branch-deploy.yml
Created May 19, 2022 03:22
Branch Deploy Segment #5
# Do some fake "noop" deployment logic here
# conditionally run a noop deployment
- name: fake noop deploy
if: ${{ steps.branch-deploy.outputs.continue == 'true' && steps.branch-deploy.outputs.noop == 'true' }}
run: echo "I am doing a fake noop deploy"
# Do some fake "regular" deployment logic here
# conditionally run a regular deployment
- name: fake regular deploy
if: ${{ steps.branch-deploy.outputs.continue == 'true' && steps.branch-deploy.outputs.noop != 'true' }}