Skip to content

Instantly share code, notes, and snippets.

View joeblackwaslike's full-sized avatar
💭
Working hard

Joe Black joeblackwaslike

💭
Working hard
View GitHub Profile
@joeblackwaslike
joeblackwaslike / FastAPI_rules.md
Last active February 18, 2025 03:45
Cursorrules I like

You are an expert in Python, FastAPI, and scalable API development.

Key Principles

  • Write concise, technical responses with accurate Python examples.
  • Use descriptive variable names with auxiliary verbs (e.g., is_active, has_permission).
  • Use lowercase with underscores for directories and files (e.g., routers/user_routes.py).
  • Favor named exports for routes and utility functions.
  • Follow SOLID principles and write clean code.
  • Prefer loosely coupled, cohesive interfaces.
  • High level code should depend on high level abstractions rather than low level implementations.
@joeblackwaslike
joeblackwaslike / How-to-Python-in-Cursor.md
Last active May 9, 2025 13:53
How to use python with the Cursor IDE

How to use python with the Cursor AI IDE

We are going to edit cursors settings to point to the microsoft extensions marketplace.

  1. Remove all extensions and exit Cursor.
  2. Locate your Cursor project.json file depending on your platform and open it.
    • On MacOS: /Applications/Cursor.app/Contents/Resources/app/product.json
    • On Windows: C:\Users\<user_name>\AppData\Local\Programs\cursor\resources\app\product.json
    • On Linux: /usr/lib/code/product.json
  3. Locate the object value for key extensionsGallery in the json document.
I am attesting that this GitHub handle joeblackwaslike is linked to the Ethereum Address 0xb142d4004Af1A9E8A5CE663d6dc34d53956dcFC1
0xdfd0016ea99cc7515d0c19c9db2182fa5f09bf25f5902cde7fff1942f0ea3810255d2244b9e07cef4e9cbd5862cdaa020dacf21447d255595740ccd581091afa1b

Usage is simple

import json

from joserf.jwk import KeySet

from idp import IdentityProvider

default_registry = JWSRegistry(algorithms=["RS256", "ES256"])
@joeblackwaslike
joeblackwaslike / pub_jwks_uri.json
Last active June 12, 2023 18:13
public jwkset
{
"keys": [
{
"kty": "RSA",
"kid": "2igMDCHA7k3PhPmP9KYP3uXSdc4IRlCzZiSo_Yr3xW8",
"n": "vy7XwKzb4uPQ1xpVSzF_zBsZSwYywzT1AQLmwbyhzgBC90w1wtunTaLPc1P0NBVxBgGKFeX9vb2SHP2DfDQE7jE5F2NduYNj4Ryf5PA-Y_pNpoCbSIDcma2zCV9WAWk817asI5lo9ncn3QqKjwrXbkrMIZ5I8E7NZ0VAE6bMgpeEki2dHr0M4n-OFPMJXZaIJGOvQyfbTZvmBumLnccpZ5cPqYzdYg3ncR0iNsaqNeu-Qo47ZdvpBkpj4tZqH7enhradZyaOHLsbrYej0fpLHZzLAOOkhmAc9ugKrpvTGXh-ehlOAT-In8flNuezh11UWzrwLb1uAT-g50hV1XpygQ",
"e": "AQAB"
}
]
}
#!/usr/bin/env bash
# Use this script to test if a given TCP host/port are available
WAITFORIT_cmdname=${0##*/}
echoerr() { if [[ $WAITFORIT_QUIET -ne 1 ]]; then echo "$@" 1>&2; fi }
usage()
{
cat << USAGE >&2
I am attesting that this GitHub handle joeblackwaslike is linked to the Ethereum Address 0xb142d4004Af1A9E8A5CE663d6dc34d53956dcFC1
0xdfd0016ea99cc7515d0c19c9db2182fa5f09bf25f5902cde7fff1942f0ea3810255d2244b9e07cef4e9cbd5862cdaa020dacf21447d255595740ccd581091afa1b
I am attesting that this GitHub handle joeblackwaslike is linked to the Ethereum Address 0x89051F8fed6A0Ff650DCc55D74e8D58C61935D3e
0xa6d3efa3a7823b595ed9322dca09610306e9ec72e215f841723e7a5ed2196e582804820a16e4561bd4e006fe7c2728f31a49d192b84d309241582f292e70e0791c
{"version":1,"resource":"file:///Users/joeblack/projects/github/fortmatic/fortmatic/tests/unit/core/handlers/auth_passwordless_login_test.py","entries":[{"id":"rBCB.py","timestamp":1655751002580}]}
@joeblackwaslike
joeblackwaslike / 1-README.md
Created April 8, 2022 17:41
Quart Advanced Dependency Injection POC

Quart Advanced Dependency Injection POC

Instructions:

$ python -m venv venv
$ source venv/bin/activate
$ python -m pip install anyio di pydantic quart
$ python poc.py