Skip to content

Instantly share code, notes, and snippets.

@lxl66566
lxl66566 / main.py
Created October 17, 2025 08:35
python upload server
import http.server
import os
import re
import socketserver
PORT = 9000
UPLOAD_DIR = "./"
# 一个简单的辅助函数,用于解析 multipart/form-data 的头部
@lxl66566
lxl66566 / index.js
Last active July 23, 2025 06:54
划词高亮页面内相同文字(效果类似划词自动 ctrl + f 在页面上搜索)
// ==UserScript==
// @name 划词高亮页面内相同文字
// @namespace http://tampermonkey.net/
// @version 2.1
// @description 当在网页上选中一段文字后,自动高亮所有其他相同文字。点击或选择新内容后自动清除旧高亮。当选中的文本是在输入框或可编辑区域内的时候,不会触发高亮。
// @author lxl66566 (Gemini 2.5 pro)
// @match *://*/*
// @grant GM_addStyle
// @license MIT
// ==/UserScript==
@lxl66566
lxl66566 / Cargo.toml
Created June 11, 2025 02:59
Rust version of AES-256-CFB using SIMD (AI translated)
[package]
name = "aes_simd_rust"
version = "0.1.0"
edition = "2021"
[dependencies]
openssl = "*"
rand = "0.9" # For generating test data
[dev-dependencies]
@lxl66566
lxl66566 / build.rs
Created June 1, 2025 16:17
Automatically build sqlite database for compiling sqlx
//! The entire build.rs does one thing: applies schema.sql to
//! target/sqlx_schema.db for sqlx to use during compilation.
use std::process; // For panic
use std::{env, fs, path::PathBuf};
// build.rs runs in a sync context, so we need a runtime to run sqlx async functions
use fuck_backslash::FuckBackslash;
use path_absolutize::Absolutize;
// We need the execute trait from sqlx prelude
@lxl66566
lxl66566 / main.rs
Created December 6, 2024 01:17
Rust counter implemention benchmark
#![feature(test)]
extern crate test;
use std::collections::HashMap;
use counter::Counter;
use dashmap::DashMap;
use rayon::prelude::*;
use test::black_box;
@lxl66566
lxl66566 / README.md
Last active November 23, 2024 17:51
Kth Largest Elementt in an Array, benchmark

我一直不明白,第 k 大的数的正解为什么时间复杂度是 O(n)。看快排代码,二分递归代码一眼就是 O(nlog n),一看题解,全都说证明在算法导论,自己看书。 我看不懂书,因此想尝试做一个 benchmark,通过数据规模增长和 benchmark 用时来判断其时间复杂度。

  1. 生成足够数量的随机数。后续所有测试都在这样同一个相对随机的数据上进行。
  2. find_kth_largest 函数为 leetcode 题解(基于快速排序的选择方法) 改写为 rust 版本的结果。

注:find_kth_largest 函数本身没有 clone;我在 benchmark 之前就进行了数据 clone。

测试结果为(已排序,否则 cargo test 输出的排序为 10 100 1000 10000 50 500 5000):

@lxl66566
lxl66566 / test.ts
Last active October 26, 2024 10:59
TypeScript partition array into two by condition, performance compare
import { Bench } from "tinybench";
const bench = new Bench({
time: 1000,
});
// This will not change the origin array
function partition<T>(
arr: readonly T[],
predicate: (item: T) => boolean,
@lxl66566
lxl66566 / main.py
Created August 17, 2024 10:18
Test audio speedup by using soundtouch
import ctypes
import math
import numpy as np
import scipy.io.wavfile as wavfile
# 加载DLL
soundtouch_dll = ctypes.CDLL("soundtouch_dll-2.3.3/SoundTouchDLL_x64.dll")
# 定义函数原型
@lxl66566
lxl66566 / build.rs
Created July 29, 2024 09:30
generate some path depended code
use std::fs::OpenOptions;
use std::io::Write;
use std::path::PathBuf;
fn main() -> std::io::Result<()> {
let functions_dir = PathBuf::from("src/functions");
let mut out = String::from("use clap::Command;\n");
let entries = std::fs::read_dir(&functions_dir)?;
let filenames: Vec<_> = entries
@lxl66566
lxl66566 / kv.rs
Created July 15, 2024 10:40
Failed to implement Future for PutFut
use crate::error::Result;
use curp::client::ClientApi;
use futures::{future::BoxFuture, FutureExt};
use pin_project::pin_project;
use std::future::Future;
use std::task::Poll;
use std::{pin::pin, sync::Arc};
use tonic::Status;
use xlineapi::{
command::{Command, CommandResponse, KeyRange, SyncResponse},