Skip to content

Instantly share code, notes, and snippets.

View jeremyckahn's full-sized avatar

Jeremy Kahn jeremyckahn

View GitHub Profile
@jeremyckahn
jeremyckahn / js-public-private-key-generation.js
Created December 4, 2023 03:13
Use Web Crypto API to create public and private key pairs and convert them to strings
// Generated by ChatGPT: https://chat.openai.com/share/eef660d9-eaf2-494e-8175-54290254c73f
// Function to generate a key pair
async function generateKeyPair() {
try {
const keyPair = await window.crypto.subtle.generateKey(
{
name: 'RSA-OAEP',
modulusLength: 2048,
publicExponent: new Uint8Array([0x01, 0x00, 0x01]),

Front End System Design Interview Checklist

  • Ask for clarifying questions
    • What is the scale of the solution needed?
      • How many daily active users?
      • How are they geographically distributed?
      • What are we expecting in terms of peak traffic?
    • What are the most business critical use-cases?
      • What's a user persona we should be targeting?
  • Identify constraints
{
"type": "excalidraw",
"version": 2,
"source": "https://excalidraw.com",
"elements": [
{
"id": "6epLBtPWpajrmXVOPAgjr",
"type": "text",
"x": 102.5,
"y": -44,
// given a graph represented as a map of nodes and their children {node_1: [node_2, node_3]}, and two nodes a and b, write a function that returns a boolean indicating if node a is a descendant of node b
// isDescendant(graph, a, b) => returns true if a is a descendant of b
// Example
// g = {1: [2, 3], 2:[], 3:[4], 4:[5]}
// isDescendant(g, 5, 1) => true
// isDescendant(g, 2, 4) => false
// 1
@jeremyckahn
jeremyckahn / export_presets.cfg
Created January 17, 2022 23:18
export_presets.cfg for Farmhand Go!
[preset.0]
name="HTML5"
platform="HTML5"
runnable=true
custom_features=""
export_filter="all_resources"
include_filter=""
exclude_filter=""
export_path="./build/web/index.html"
# Adapted from https://raw.githubusercontent.com/RudyMis/Bubbles/master/.github/workflows/godot-ci.yml
name: godot-ci
on:
push:
branches: [ main ]
env:
EXPORT_NAME: farmhand-go
# Adapted from https://raw.githubusercontent.com/RudyMis/Bubbles/master/.github/workflows/godot-ci.yml
name: godot-ci
on:
push:
branches: [ main ]
env:
EXPORT_NAME: NAME-OF-YOUR-GAME
farmhand.localforage.setItem('state', JSON.parse("{\"completedAchievements\":{\"plant-crop\":true,\"water-crop\":true,\"harvest-crop\":true,\"unlock-crop-price-guide\":true,\"daily-profit-1\":true,\"purchase-cow-pen\":true,\"daily-profit-2\":true,\"daily-profit-3\":true,\"purchase-all-cow-colors\":true,\"profit-average-1\":true,\"profit-average-2\":true,\"i-am-rich-1\":true,\"i-am-rich-2\":true},\"cowBreedingPen\":{\"cowId1\":\"d97f2117-6918-4181-8284-3f8dc6a0058e\",\"cowId2\":\"9044dd6e-23e7-4bb1-819d-eeb62dc8e90d\",\"daysUntilBirth\":-426},\"cowColorsPurchased\":{\"BROWN\":3,\"GREEN\":2,\"YELLOW\":2,\"ORANGE\":2,\"WHITE\":2,\"PURPLE\":1,\"BLUE\":1},\"cowForSale\":{\"baseWeight\":1983,\"color\":\"WHITE\",\"colorsInBloodline\":{\"WHITE\":true},\"daysOld\":1,\"daysSinceMilking\":0,\"daysSinceProducingFertilizer\":0,\"gender\":\"FEMALE\",\"happiness\":0,\"happinessBoostsToday\":0,\"id\":\"05fe1e3f-dc4f-4f86-bd16-d9afb718cc73\",\"isBred\":false,\"isUsingHuggingMachine\":false,\"name\":\"Crabapple\",\"weightMulti
@jeremyckahn
jeremyckahn / postmortem-template.md
Last active October 21, 2021 23:16
Incident postmortem template

Description of the incident

Root cause of the problem

{
"completedAchievements": {
"plant-crop": true,
"water-crop": true,
"harvest-crop": true,
"purchase-cow-pen": true,
"purchase-all-cow-colors": true
},
"cowBreedingPen": {
"cowId1": null,