Skip to content

Instantly share code, notes, and snippets.

View yerffejytnac's full-sized avatar

Jeffrey yerffejytnac

View GitHub Profile
@codeallthethingz
codeallthethingz / extract_and_transform_slackdump.py
Created December 10, 2024 00:19
Take a slackdump zip file and extract all the images and recreate the slack export with your public IP and port.
import argparse
import json
import re
import shutil
import zipfile
from pathlib import Path
import requests
{"name":"Transform Chain","description":"Transform Your Business with Smart Dialogues.","data":{"nodes":[{"width":384,"height":539,"id":"CustomComponent-C8eNm","type":"genericNode","position":{"x":361.2179541318329,"y":14.576073295690833},"data":{"type":"CustomComponent","node":{"template":{"code":{"dynamic":true,"required":true,"placeholder":"","show":true,"multiline":true,"value":"from langflow import CustomComponent\nfrom langflow.field_typing import Chain\nfrom langchain.chains import TransformChain\n\nclass ChainTransformer(CustomComponent):\n display_name = \"Transform Chain\"\n description = \"Converts a python function into a chain.\"\n\n # Modify this as you like, use any argument created in 'build' via 'self'\n def perform_action(self, chat_input):\n result = (chat_input + \" \" + self.foo + \" 👋🌍\").upper()\n return {self.output_key: result}\n\n # Parameters here are turned into class attributes accessible in 'perform_action'\n def build(self, foo: str = \"World\", i
{"name":"Beautiful Soup","description":"Extracts relevant links from a website.","data":{"nodes":[{"width":384,"height":375,"id":"PromptTemplate-lOPq4","type":"genericNode","position":{"x":1550.5915123461584,"y":563.636573923162},"data":{"type":"PromptTemplate","node":{"template":{"output_parser":{"required":false,"placeholder":"","show":false,"multiline":false,"password":false,"name":"output_parser","advanced":false,"dynamic":false,"info":"","type":"BaseOutputParser","list":false},"input_variables":{"required":true,"placeholder":"","show":false,"multiline":false,"password":false,"name":"input_variables","advanced":false,"dynamic":false,"info":"","type":"str","list":true,"value":["links"]},"partial_variables":{"required":false,"placeholder":"","show":false,"multiline":false,"password":false,"name":"partial_variables","advanced":false,"dynamic":false,"info":"","type":"code","list":false},"template":{"required":true,"placeholder":"","show":true,"multiline":true,"password":false,"name":"template","advanced":fals
{"description":"Web scraper that loads multiple web pages and store results in JSON files.","name":"Batch WebLoader","data":{"nodes":[{"width":384,"height":445,"id":"PromptTemplate-q1G6I","type":"genericNode","position":{"x":1953.2253047109466,"y":185.7369933007888},"data":{"type":"PromptTemplate","node":{"template":{"output_parser":{"required":false,"placeholder":"","show":false,"multiline":false,"password":false,"name":"output_parser","advanced":false,"dynamic":true,"info":"","type":"BaseOutputParser","list":false},"input_variables":{"required":true,"placeholder":"","show":false,"multiline":false,"password":false,"name":"input_variables","advanced":false,"dynamic":true,"info":"","type":"str","list":true,"value":["webpage","instructions"]},"partial_variables":{"required":false,"placeholder":"","show":false,"multiline":false,"password":false,"name":"partial_variables","advanced":false,"dynamic":true,"info":"","type":"code","list":false},"template":{"required":true,"placeholder":"","show":true,"multiline":true
@fnimick
fnimick / supabase_profile_sync.sql
Last active April 27, 2025 15:47
Create a `public.profile` table and keep it in sync with supabase `auth.users` for selected fields in both directions.
/**
* USERS
* Note: This table contains user data. Users should only be able to view and update their own data.
* Some data is synced back and forth to `auth.users` as described below.
*
* `full_name`: synced in both directions
* `email`: synced from user metadata to profile only
* `avatar_url`: synced from user metadata to profile only
* `terms_accepted_at`: synced from profile to user metadata only
*/
@douglas-henrique
douglas-henrique / CustomSpinner.tsx
Last active December 14, 2024 18:21
Custom spinner on react native using Reanimated > 2x + Styled components
import React, { useEffect } from 'react';
import styled from 'styled-components/native';
import Animated, {
cancelAnimation,
Easing,
useAnimatedStyle,
useSharedValue,
withRepeat,
withTiming,
} from 'react-native-reanimated';
@JacobWeisenburger
JacobWeisenburger / zustandCustomPersistStorageTemplate.ts
Created March 31, 2023 16:16
Zustand custom persist storage template
import { createStore } from 'zustand'
import { persist, StorageValue } from 'zustand/middleware'
const store = createStore(
persist(
() => ( {} ),
{
name: 'store-state',
storage: {
async getItem ( name: string ): StorageValue<unknown> {
@samselikoff
samselikoff / range.code-snippets
Last active July 30, 2024 01:37
VSCode snippet for creating a loop of n numbers in JSX! https://twitter.com/samselikoff/status/1611406980639244301
{
"Range of numbers": {
"scope": "javascriptreact,typescriptreact",
"prefix": "range",
"body": [
"{[...Array($1).keys()].map((i) => (",
" <$2 key={i}>",
" $3",
" </$2>",
"))}",
@samselikoff
samselikoff / chart-with-d3.jsx
Last active May 2, 2024 06:02
Diff from "Building an Animated Line Chart with d3, React and Framer Motion" https://www.youtube.com/watch?v=kPbRDn5Fg0Y
import * as d3 from "d3";
import {
eachMonthOfInterval,
endOfMonth,
format,
isSameMonth,
parseISO,
startOfMonth,
} from "date-fns";
import useMeasure from "react-use-measure";
import { isTest } from "@/lib/constants";
import { Dialog } from "@headlessui/react";
import { motion } from "framer-motion";
const TRANSITIONS = {
DURATION: !isTest ? 0.5 : 0,
EASE: [0.32, 0.72, 0, 1],
};
function Modal({ onClose = () => {}, initialFocusRef, children }) {