Skip to content

Instantly share code, notes, and snippets.

@mieitza
mieitza / clustering.py
Created January 3, 2018 15:20 — forked from shahradj/clustering.py
Perform clustering on mouse tracking data
import pandas as pd
from scipy.cluster.hierarchy import fclusterdata
from pymongo import MongoClient
import numpy as np
from datetime import *
import json
def saveToRelational(jsonPacket):
"""
save the received json packet to a relational database
import pandas as pd
from pandas.io.json import json_normalize
from pymongo import MongoClient
import matplotlib.pyplot as plt
import re
import time
pd.set_option('display.expand_frame_repr', False)
def _connect_mongo(host, port, db):
@mieitza
mieitza / firebase_performance_slow_screens.sql
Created October 28, 2021 19:16 — forked from sbrissenden/firebase_performance_slow_screens.sql
[BigQuery + Firebase Performance Monitoring] Find app screens with frozen frames impacting French users
SELECT
AVG(trace_info.duration_us / 1000000) AS seconds_on_screen,
AVG(trace_info.screen_info.slow_frame_ratio) AS slow_frame_ratio,
AVG(trace_info.screen_info.frozen_frame_ratio) AS frozen_frame_ratio,
event_name as screen,
country
FROM `friendly--pix.projectId.firebase_performance.YOUR_PACKAGE_NAME_ANDROID`
WHERE _PARTITIONTIME > TIMESTAMP("2019-05-09")
AND event_type = "SCREEN_TRACE"
AND country = "FR"
@mieitza
mieitza / predictions_churn.sql
Created October 28, 2021 19:17 — forked from sbrissenden/predictions_churn.sql
[BigQuery + Firebase Predictions] Number of Users Predicted to Churn
SELECT COUNT(distinct p.user_id)
FROM `friendly--pix.projectId.firebase_predictions.YOUR_PACKAGE_NAME_ANDROID` p CROSS JOIN UNNEST (predictions)
WHERE
prediction_name = "churn"
AND score > 0.7
AND TIMESTAMP_TRUNC(p.prediction_time, DAY) = TIMESTAMP('2018-10-04')
@mieitza
mieitza / crashes.sql
Created October 28, 2021 19:17 — forked from sbrissenden/crashes.sql
[BigQuery + Firebase Crashlytics] Crashes from May 9th
#standardSQL
SELECT
event_id, issue_id, blame_frame.file, blame_frame.line
FROM
`projectId.firebase_crashlytics.package_name_ANDROID`
WHERE
FORMAT_TIMESTAMP("%Y%m%d", TIMESTAMP_TRUNC(event_timestamp, DAY)) = '20190509'
@mieitza
mieitza / secure-gcp-checklist.md
Created May 15, 2023 18:34 — forked from mikesparr/secure-gcp-checklist.md
Secure Google Cloud Platform Checklist

Secure GCP infrastructure checklists

Initial setup

  • Configure org policies
    • Restrict allowed IAM domains
    • Disable key download
    • Disable default network
    • Disable external IP
    • Require shielded VM
  • Prepare for VPC service controls (data protection)
@mieitza
mieitza / gcp-startup-script-secret-manager.sh
Created May 16, 2023 14:35 — forked from mikesparr/gcp-startup-script-secret-manager.sh
Example fetching and using Google Cloud Platform Secret Manager secrets from Compute Engine VM startup script
#!/usr/bin/env bash
#####################################################################
# REFERENCES
# - https://cloud.google.com/secret-manager/docs/create-secret-quickstart
# - https://cloud.google.com/secret-manager/docs/manage-access-to-secrets
# - https://cloud.google.com/secret-manager/docs/creating-and-managing-expiring-secrets
# - https://cloud.google.com/secret-manager/docs/secret-rotation
# - https://cloud.google.com/compute/docs/access/create-enable-service-accounts-for-instances
# - https://cloud.google.com/iam/docs/best-practices-service-accounts#single-purpose
@mieitza
mieitza / gcp_guide.md
Created May 16, 2023 14:55 — forked from nicolasdao/gcp_guide.md
Google Cloud Platform guide. Keywords: gcp google cloud platform gcloud
@mieitza
mieitza / gcp-basics.md
Created May 16, 2023 14:57 — forked from michaellihs/gcp-basics.md
Google Cloud Platform

Google Cloud Platform Fundamentals

Regions & Zones

  • Region equals a geograpic location
  • Zones divide regions into (physically) independent isolated sub parts
  • Some resources are
  • accessible only within one zone (e.g. VMs)