Skip to content

Instantly share code, notes, and snippets.

View fourgates's full-sized avatar
💭
Building

Phillip Ninan fourgates

💭
Building
View GitHub Profile
@fourgates
fourgates / auth.ts
Last active September 27, 2024 02:15
express.js middleware to validate a AWS Cognito / Amplify Token
import { Router } from "express";
import jwt from "jsonwebtoken";
import jwkToPem from "jwk-to-pem";
import * as Axios from 'axios';
interface PublicKeys {
keys: PublicKey[];
}
interface PublicKey {
alg: string;
@lorey
lorey / selenium_xhr_requests_via_performance_logging.py
Last active April 5, 2026 16:16
Access Chrome's network tab (e.g. XHR requests) with Selenium
#
# This small example shows you how to access JS-based requests via Selenium
# Like this, one can access raw data for scraping,
# for example on many JS-intensive/React-based websites
#
from time import sleep
from selenium import webdriver
from selenium.webdriver import DesiredCapabilities
@statik
statik / waf.ts
Last active October 16, 2024 02:36
WAF with CDK examples
import * as cdk from "@aws-cdk/core";
import * as wafv2 from "@aws-cdk/aws-wafv2";
// This extends the base cdk stack properties to include a tag name input.
export interface StackProps extends cdk.StackProps {
tag: string;
applicationName?: string;
}
export class WAFStack extends cdk.Stack {
@LayZeeDK
LayZeeDK / should-i-use-an-angular-module.md
Created August 23, 2022 08:45
Should I use an Angular module?
graph TD
  A[Should I use an Angular module?] --> B{Is it a component?}
  B -->|Yes| X[Don't use an Angular module]
  B -->|No| C{Is it a directive?}
  C -->|Yes| X
  C -->|No| D{Is it a pipe?}
  D -->|Yes| X
  D -->|No| E{Is it a service?}
 E -->|Yes| X
@andreacioni
andreacioni / app.controller-1.ts
Last active February 4, 2025 14:27
NestJS Authentication: Single Sign On with SAML 2.0
@Get('api/auth/sso/saml/login')
@UseGuards(SamlAuthGuard)
async samlLogin() {
//this route is handled by passport-saml
return;
}
@damek
damek / concatenated_DSPY_docs_5_12_2025.md
Last active December 3, 2025 16:12
Concatenated DSPy documentation (May 12, 2025)

dspy.Adapter

::: dspy.Adapter handler: python options: members: - call - acall

  • format
@steipete
steipete / agent.md
Created October 14, 2025 14:41
Agent rules for git
  • Delete unused or obsolete files when your changes make them irrelevant (refactors, feature removals, etc.), and revert files only when the change is yours or explicitly requested. If a git operation leaves you unsure about other agents' in-flight work, stop and coordinate instead of deleting.
  • Before attempting to delete a file to resolve a local type/lint failure, stop and ask the user. Other agents are often editing adjacent files; deleting their work to silence an error is never acceptable without explicit approval.
  • NEVER edit .env or any environment variable files—only the user may change them.
  • Coordinate with other agents before removing their in-progress edits—don't revert or delete work you didn't author unless everyone agrees.
  • Moving/renaming and restoring files is allowed.
  • ABSOLUTELY NEVER run destructive git operations (e.g., git reset --hard, rm, git checkout/git restore to an older commit) unless the user gives an explicit, written instruction in this conversation. Treat t
@dabit3
dabit3 / you_couldve_invented_openclaw.md
Last active April 6, 2026 13:14
You Could've Invented OpenClaw

See more of my writing here. Also check out Devin

In this post, I'll start from scratch and build up to OpenClaw's architecture step by step, showing how you could have invented it yourself from first principles, using nothing but a messaging API, an LLM, and the desire to make AI actually useful outside the chat window.

End goal: understand how persistent AI assistants work, so you can build your own (or become an OpenClaw power user).

First, let's establish the problem

When you use ChatGPT or Claude in a browser, there are several limitations: