Skip to content

Instantly share code, notes, and snippets.

Avatar
🐕

Daniel Serodio dserodio

🐕
View GitHub Profile
@dserodio
dserodio / openai.py
Created May 15, 2023 14:33
OpenAI bolierplate
View openai.py
# Boilerplate for Python apps using OpenAI API.
# From DeepLearning.ai's "ChatGPT Prompt Engineering for Developers" mini-course
# First, these dependencies need to be installed:
#
# pip install openai python-dotenv
import openai
import os
@dserodio
dserodio / get_approvers_count.py
Created March 14, 2023 13:03
Get the number of approvers in a given Github repository's PRs
View get_approvers_count.py
import requests
# Set the repo owner and name
owner = "YOUR_REPO_OWNER"
repo = "YOUR_REPO_NAME"
GITHUB_TOKEN = "YOUR_GITHUB_TOKEN"
# Set the GitHub API URL
url = f"https://api.github.com/repos/{owner}/{repo}/pulls"
@dserodio
dserodio / check_dashboard_popularity.py
Created February 28, 2023 18:27
Datadog snippets
View check_dashboard_popularity.py
# Posted by Benjamin Lush on Datadog Slack
#
# I haven't tested it yet
import requests
url = "https://app.datadoghq.com/api/v1/dashboard_search?with_suggested=true&query=in%3Apreset_dashboard_list%2F1%20&start=0&count=1&sort="
result = requests.get(url, headers).json()
count = 50
for index in range(int(result['total']) // count + 1):
@dserodio
dserodio / .editorconfig
Created January 26, 2023 20:48
EditorConfig config file
View .editorconfig
# EditorConfig is awesome: https://EditorConfig.org
# top-most EditorConfig file
root = true
# Unix-style newlines with a newline ending every file and no trailing whitespace
[*]
end_of_line = lf
trim_trailing_whitespace = true
insert_final_newline = true
@dserodio
dserodio / formula.md
Created October 19, 2022 20:32
Google Sheets: Calculate a date difference and format it pretty
View formula.md

This formula calculates the difference between a given date (H11 in the example) and today, and formats it as Y years, M months, or just M months if Y=0

CONCAT(
  IF(DATEDIF(H11;today();"Y") > 0;
    DATEDIF(H11;today();"Y") & " years, ";
    ""
);DATEDIF(H11;today();"YM") & " months")
@dserodio
dserodio / parse_yaml.sh
Last active September 19, 2022 17:50
Parse YAML using pure Bash
View parse_yaml.sh
# bash-only parser that leverages sed and awk to parse simple yaml files
#
# See https://stackoverflow.com/a/21189044/31493 for usage, caveats, etc.
function parse_yaml {
local prefix=$2
local s='[[:space:]]*' w='[a-zA-Z0-9_]*' fs=$(echo @|tr @ '\034')
sed -ne "s|^\($s\):|\1|" \
-e "s|^\($s\)\($w\)$s:$s[\"']\(.*\)[\"']$s\$|\1$fs\2$fs\3|p" \
-e "s|^\($s\)\($w\)$s:$s\(.*\)$s\$|\1$fs\2$fs\3|p" $1 |
@dserodio
dserodio / nrql.sql
Last active November 11, 2022 22:04
New Relic NRQL snippets
View nrql.sql
-- Query APM agent version
-- https://discuss.newrelic.com/t/is-there-a-nrql-query-i-can-do-that-will-list-all-of-the-versions-of-my-apm-agents/105495
SELECT agentHostname, apmAgentVersion, apmAppName, apmLanguage
FROM NrDailyUsage
WHERE apmLanguage IS NOT NULL
SINCE 1 day ago
LIMIT MAX
@dserodio
dserodio / parseDuration.gs
Created July 1, 2022 18:36
Google Apps Script for parsing duration strings
View parseDuration.gs
/* Based on: https://stackoverflow.com/a/44018490/31493 */
var duration = /(-?\d*\.?\d+(?:e[-+]?\d+)?)\s*([a-zμ]*)/ig
/**
* conversion ratios
*/
@dserodio
dserodio / userChrome.css
Created June 10, 2021 20:48
Make Firefox bookmarks visible only on new tab page, like Chrome
View userChrome.css
/*
* Bookmarks toolbar is visible only on new tab page, just like Chrome.
*
* Screenshot: https://vimeo.com/235059188
* Video: https://vimeo.com/240436456
*
* Contributor(s): https://www.reddit.com/user/AJtfM7zT4tJdaZsm and Andrei Cristian Petcu
* https://www.reddit.com/r/FirefoxCSS/comments/7evwow/show_bookmarks_toolbar_only_on_new_tab/
*/
@dserodio
dserodio / ublock-filters.txt
Created May 28, 2021 13:31
uBlock Origin filters for blocking annoying push notification popups
View ublock-filters.txt
!Source: https://www.reddit.com/r/brasil/comments/93zlgh/e_reclamam_do_adblock/e3ikvb9/
!
!Desabilitar notificações
||onesignal.com^
||pushcrew.com^
||widget.intercom.io^
||pushnews.eu^
! Block Pushnews (heavily abused by Exame, and other Brazilian media sites)
/pushnews-sw.js