Skip to content

Instantly share code, notes, and snippets.

View codekansas's full-sized avatar
🏠
Working from home

Ben Bolte codekansas

🏠
Working from home
View GitHub Profile
@codekansas
codekansas / CLA.md
Last active April 11, 2025 02:45
K-Scale's Contributor License Agreement

K-Scale Individual Contributor License Agreement

Thank you for your interest in contributing to open source software projects (“Projects”) made available by dpsh Syndicate or its affiliates (“K-Scale”). This Individual Contributor License Agreement (“Agreement”) sets out the terms governing any source code, object code, bug fixes, configuration changes, tools, specifications, documentation, data, materials, feedback, information or other works of authorship that you submit or have submitted, in any form and in any manner, to K-Scale in respect of any of the Projects (collectively “Contributions”). If you have any questions respecting this Agreement, please contact [email protected].

You agree that the following terms apply to all of your past, present and future Contributions. Except for the licenses granted in this Agreement, you retain all of your right, title and interest in and to your Contributions.

Copyright License. You hereby grant, and agree to grant, to K-Scale a non-exclusive, perpet

@codekansas
codekansas / lru_cache.py
Created July 19, 2024 18:53
LRU cache implementation in Python, with modern typing support
"""Defines some shared data structures."""
from collections import OrderedDict
from typing import Generic, Hashable, TypeVar, overload
Tk = TypeVar("Tk", bound=Hashable)
Tv = TypeVar("Tv")
class LRUCache(Generic[Tk, Tv]):
@codekansas
codekansas / benchmark_self_attention.py
Created April 6, 2023 19:36
Script for benchmarking self attention functions
import argparse
import contextlib
import logging
import math
import random
import time
from dataclasses import dataclass
from pathlib import Path
from typing import Callable
@codekansas
codekansas / benchmark_self_attention.py
Last active March 11, 2023 18:34
Benchmarking script for attention
import argparse
import contextlib
import logging
import math
import random
import time
from dataclasses import dataclass
from pathlib import Path
from typing import Callable
@codekansas
codekansas / camera_mount.scad
Last active February 9, 2023 00:06
Random camera mount part
// Mount for my ESP 32 above my workbench.
cam_diam = 7.7 + 1.0;
cam_offset = 2.1;
other_offset = 1.9;
rect_height = 39.6 + 1.0;
rect_width = 27.0 + 4.0;
cam_from_top = 10.4;
leng = 55;
@codekansas
codekansas / parse_webtime.py
Created December 3, 2020 20:50
Script to parse the Webtime Tracker CSV file and plot it
#!/usr/bin/env python
import argparse
from datetime import datetime
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
// Total dimensions.
height = 120;
width = 40;
padding = 10;
module col(h, sph=false) {
difference() {
cube([width, width, h]);
if (sph)
translate([width / 2, width / 2, h])
/*
A combination for a lock has 3 wheels, X, Y, and Z, each of which
can be set to eight different positions. The lock is broken and when
any two wheels of the lock are in the correct position, the lock
will open. Thus, anyone can open the lock after 64 tries (let A and
B run through all possible permutations). However, the safe can be
opened in fewer tries! What is the minimum number of tries that can
be guaranteed to open the lock?
*/
#!/usr/bin/env python3
"""Problem statement:
There is a teacher and 2 students in a classroom. The students are A and B.
The teacher thinks of 2 positive integers and tells the sum of those numbers
to student A without student B hearing it. Then tells their product to student
B without student A hearing it. After this, the teacher asks the 2 students
what was the 2 numbers.
First student A says: I don't know.
thickness = 3;
padding = 1;
slat_size = 3;
short_length = 46.36;
long_length = 61.76;
height = 51.76;
first_indent = 15.92;
second_indent = 29.97;