Skip to content

Instantly share code, notes, and snippets.

View joelhooks's full-sized avatar
🍄

Joel Hooks joelhooks

🍄
View GitHub Profile
@johnlindquist
johnlindquist / stb-reviewer.md
Created November 12, 2025 19:27
Stacking the Bricks (STB) Reviewer - Amy Hoy & Alex Hillman persona for code/business reviews

You are Amy Hoy and Alex Hillman from Stacking the Bricks. You personify the ideals of shipping fast, customer research, brutal honesty about entrepreneurship, and product-led freedom. Fully embrace these ideals and push back hard against hustle porn, big vague dreams without action, fear excuses, and building products nobody wants.

When reviewing code, emails, pitches, or business decisions:

  1. Evaluate whether someone is actually shipping or just talking
  2. Check if customer research (Sales Safari) was done
  3. Look for concrete action vs. vague aspirations

Push back HARD against:

  • Fear used as an excuse for inaction
@deepfates
deepfates / convert_archive.py
Created November 17, 2024 19:33
Convert your twitter archive into a training dataset and markdown files
import argparse
import json
import logging
import os
import re
import shutil
from concurrent.futures import ProcessPoolExecutor, as_completed
from dataclasses import dataclass
from datetime import datetime
from typing import Any, Callable, Dict, List, Literal, Optional, Tuple
@adrienbrault
adrienbrault / llama2-mac-gpu.sh
Last active April 8, 2025 13:49
Run Llama-2-13B-chat locally on your M1/M2 Mac with GPU inference. Uses 10GB RAM. UPDATE: see https://twitter.com/simonw/status/1691495807319674880?s=20
# Clone llama.cpp
git clone https://github.com/ggerganov/llama.cpp.git
cd llama.cpp
# Build it
make clean
LLAMA_METAL=1 make
# Download model
export MODEL=llama-2-13b-chat.ggmlv3.q4_0.bin
@joelhooks
joelhooks / code.mmd
Last active July 23, 2022 22:05
Concept Map of Concept Map Mermaid Diagram
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
@EllyLoel
EllyLoel / reset.css
Last active September 30, 2025 18:40
CSS Reset
/*
Made by Elly Loel - https://ellyloel.com/
With inspiration from:
- Josh W Comeau - https://courses.joshwcomeau.com/css-for-js/treasure-trove/010-global-styles/
- Andy Bell - https://piccalil.li/blog/a-modern-css-reset/
- Adam Argyle - https://unpkg.com/open-props@1.3.16/normalize.min.css / https://codepen.io/argyleink/pen/KKvRORE
Notes:
- `:where()` is used to lower specificity for easy overriding.
*/
@joelhooks
joelhooks / pagespeed_optimize_images.sh
Created February 25, 2022 23:57 — forked from julianxhokaxhiu/pagespeed_optimize_images.sh
Recursively optimize all PNG and JPG files wherever they are from the script position and inner ( based on OPTING, PNGCRUSH, ADVANCECOMP and JPEGOPTIM )
#!/bin/bash
# https://gist.github.com/julianxhokaxhiu/c0a8e813eabf9d6d9873
# Improved as per feedback from @pascal - https://gist.github.com/julianxhokaxhiu/c0a8e813eabf9d6d9873#gistcomment-3086462
# brew install optipng pngcrush jpegoptim
find . -type f -iname "*.png" -exec optipng -nb -nc {} \;
find . -type f -iname "*.png" -exec pngcrush -rem gAMA -rem alla -rem cHRM -rem iCCP -rem sRGB -rem time -ow {} \;
find . -type f \( -iname "*.jpg" -o -iname "*.jpeg" \) -exec jpegoptim -f --strip-all {} \;
@notwaldorf
notwaldorf / README.md
Last active October 27, 2025 18:24
A very minimal p5.js polyfill for when you want to write basic p5.js code but not import the whole kitchen sink.

Minimal p5 polyfill

This is a very minimal bit of polyfill code for when you want to use some basic p5.js code you wrote, but not pay the performance cost associated with importing the whole kitchen sink.

It basically implements some of the sintactic sugar I use the most from p5.js but using the Canvas api, so that I have the p5 api but without all the magic I'm probably not using in this particular sketch.

@souporserious
souporserious / [slug].ts
Created May 11, 2021 21:17
NextJS implementation for docs
export const getStaticPaths: GetStaticPaths = async () => {
const filePaths = await getComponentMDXPaths();
const paths = filePaths.map((filePath) => {
const extension = path.extname(filePath);
const name = path.basename(filePath, extension);
const slug = name.toLowerCase().replace(/\s/g, '-');
return { params: { slug } };
});
return {
paths,
@samselikoff
samselikoff / next.config.js
Last active May 6, 2021 14:18
withProse remark plugin that escapes `prose` for MDX components
let { withProse } = require("./src/remark/withProse");
let { withSyntaxHighlighting } = require("./src/remark/withSyntaxHighlighting");
let { withTableOfContents } = require("./src/remark/withTableOfContents");
let { withExamples } = require("./src/remark/withExamples");
let { withLayout } = require("./src/remark/withLayout");
let { withNextLinks } = require("./src/remark/withNextLinks");
let { VueLoaderPlugin } = require("vue-loader");
let path = require("path");
const withMDX = require("@next/mdx")({
@jaredpalmer
jaredpalmer / MarkdownPage.tsx
Created February 17, 2021 13:52
Get headers from MDX in Next.js
import {MDXProvider} from '@mdx-js/react';
import {MDXComponents} from 'components/MDX/MDXComponents';
import {Toc} from 'components/Toc/Toc';
import * as React from 'react';
export interface MarkdownProps<Frontmatter> {
meta: Frontmatter;
children?: React.ReactNode;
}