Skip to content

Instantly share code, notes, and snippets.

View jerrylususu's full-sized avatar

Neko Null jerrylususu

View GitHub Profile
@jerrylususu
jerrylususu / fib.js
Created July 29, 2023 13:22
es module worker
export function fibonacci(num) {
if (num <= 1) return num;
return fibonacci(num - 1) + fibonacci(num - 2);
}
mpv --no-video "https://www.youtube.com/watch?v=jfKfPfyJRdk" --script-opts=ytdl_hook-ytdl_path=yt-dlp.exe
@jerrylususu
jerrylususu / check_if_member_exist.cpp
Last active August 16, 2023 16:05
cpp check member exist
// should read
// https://hedzr.com/c++/algorithm/cxx-is_detected-and-detection-idioms
#include <iostream>
#include <type_traits>
#include <experimental/type_traits>
// AClass definition
class AClass {
public:
std::string dueDate;
@jerrylususu
jerrylususu / gym_wait_sim.py
Created October 22, 2023 13:05
gym_wait_sim.py
import numpy as np
import csv
from tqdm import tqdm
import seaborn as sns
import matplotlib.pyplot as plt
import pandas as pd
def simulate_wait_times(num_machines, num_simulations, mean, std_dev):
wait_times = []
@jerrylususu
jerrylususu / glm.py
Created October 29, 2023 11:24
glm to openai adapter
import json
from mitmproxy import http, ctx
from collections.abc import Iterable
import time
import jwt # pip install PyJWT / pipx inject mitmproxy PyJWT
import re
GLM_TOKEN = "[INSERT_YOUR_TOKEN]"
GLM_HOST = "open.bigmodel.cn"
@jerrylususu
jerrylususu / copliot.ts
Created February 17, 2024 12:17
promise concurrency
type PromiseFunction<T> = () => Promise<T>;
type PromiseResult<T> = { status: 'fulfilled', value: T } | { status: 'rejected', reason: any };
async function allSettledWithConcurrency<T>(promises: PromiseFunction<T>[], concurrency: number): Promise<PromiseResult<T>[]> {
const results: PromiseResult<T>[] = new Array(promises.length);
let running = 0;
let index = 0;
return new Promise((resolve) => {
const enqueue = () => {
@jerrylususu
jerrylususu / base.cpp
Last active June 12, 2024 16:02
有namespace的宏替换
// 对于没有命名空间的变量
#define BUILD_MY_FUNC_SINGLE(name) Build##name##Processor()
// 对于有命名空间的变量
#define BUILD_MY_FUNC_NS(ns, name) Build##ns##name##Processor()
// 定义一个辅助宏,根据参数数量调用正确的宏
#define GET_MACRO(_1,_2,NAME,...) NAME
#define BUILD_MY_FUNC(...) GET_MACRO(__VA_ARGS__, BUILD_MY_FUNC_NS, BUILD_MY_FUNC_SINGLE)(__VA_ARGS__)