Skip to content

Instantly share code, notes, and snippets.

@0e4ef622
0e4ef622 / squadron.rs
Created October 17, 2023 18:22
funny oort shenanigans
// Tutorial: Squadron
// Destroy the enemy ships. They now shoot back.
use oort_api::prelude::*;
const BUF_SIZE: usize = 1024;
// adapted from https://github.com/rust-lang/rust/issues/114936
fn hack()
-> impl for<'s> FnOnce(&'s mut [u8; BUF_SIZE]) -> (
[&'static &'s (); 0],
@0e4ef622
0e4ef622 / macro_quine.rs
Last active September 17, 2023 17:37
Rust macro quine. The macro that defines itself.
#![recursion_limit = "1505"]
macro_rules! A {
($name:tt) => { A!(($) (*) $name); };
(($d:tt) ($s:tt) $name:tt) => {
A!(1 $d $s $name [] [] [
(1 dd d:tt dd s:tt dd name:tt [dd (dd hh:tt)ss] [dd (dd h:tt)ss] [e dd dd (dd t:tt)ss] dd (dd _:tt)ss) => {
nn!(1 dd d dd s dd name [dd (dd hh)ss e dd] [dd (dd h)ss dd d] [dd (dd t)ss] dd (dd _)ss);
};
(1 dd d:tt dd s:tt dd name:tt [dd (dd hh:tt)ss] [dd (dd h:tt)ss] [e ss dd (dd t:tt)ss] dd (dd _:tt)ss) => {
@0e4ef622
0e4ef622 / main.py
Last active December 6, 2021 08:05
AoC 2021 Day 6 in Python
import math
r0 = 1.0910244704807567604
c1 = 0.823167270149155
c2 = 0.0445506192519361
c3 = 0.0640519155651715
c4 = 0.146739953698779
c5 = -0.0884627271380199
c6 = -0.268850251751933
@0e4ef622
0e4ef622 / binary.py
Created September 11, 2021 02:48
A collection of functions for writing python programs using only lambdas.
# Fixed size binary numbers
true = lambda a: lambda b: a
false = lambda a: lambda b: b
and_ = lambda a: lambda b: a (b) (a)
or_ = lambda a: lambda b: a (a) (b)
xor = lambda a: lambda b: a (not_ (b)) (b)
not_ = lambda b: b (false) (true)
y = lambda f: (lambda x: x (x)) (lambda x: f (lambda v: x (x) (v)))
@0e4ef622
0e4ef622 / const_assert.rs
Created May 22, 2021 01:12
Const generics assertions.
/// Usage: `const_assert!(Var1: Ty, Var2: Ty, ... => expression)`
macro_rules! const_assert {
($($list:ident : $ty:ty),* => $expr:expr) => {{
struct Assert<$(const $list: usize,)*>;
impl<$(const $list: $ty,)*> Assert<$($list,)*> {
const OK: u8 = 0 - !($expr) as u8;
}
Assert::<$($list,)*>::OK
}};
($expr:expr) => {
@0e4ef622
0e4ef622 / aoc2020d3p1.rs
Last active December 3, 2020 20:46
AoC 2020 Day 3 min lines after rustfmt
pub fn part1(input: &str) -> impl std::fmt::Display {
input.lines().enumerate().fold(0, |a, x| {
a + (x.1.as_bytes()[(x.0 * 3) % x.1.len()] == b'#') as u32
})
}
@0e4ef622
0e4ef622 / headset_buttons.py
Created April 20, 2020 00:20
Detects the built-in play/pause button on wired earbuds/headsets by monitoring the microphone.
#!/usr/bin/env python3
#
# Detects the built-in play/pause button on wired earbuds/headsets by
# monitoring the microphone.
#
# The script outputs a line containing either "press" or "release" whenever
# a press or release is detected.
#
# This script works by detecting a period of high (near maximum) sample values
# followed quickly by a period of low (near minimum) sample values, or vice
#!/usr/bin/env python3
import os
import re
import requests
from time import sleep
countries = [
"US", "RU", "DE", "PL", "FR", "JP", "CA", "BR", "GB", "TW",
"KR", "CN", "AU", "ID", "UA", "PH", "CL", "FI", "AR", "NL",
@0e4ef622
0e4ef622 / lambdas.py
Created December 18, 2019 09:07
fizzbuzz
(lambda p:(lambda f:(lambda x:x(x))(lambda x:f(lambda v:x(x)(v))))(lambda f:lambda n:n(lambda x:lambda x:f((lambda n:lambda f:lambda x:n(lambda g:lambda h:h(g(f)))(lambda u:x)(lambda u:u))(n))((lambda a:lambda b:lambda x:(lambda a:lambda b:a(b)(a))(a)(b)(p("FizzBuzz"))(a(p("Fizz"))(b(p("Buzz"))(p(n(lambda x:x+1)(0))))))((lambda d:lambda n:(lambda f:(lambda x:x(x))(lambda x:f(lambda v:x(x)(v))))(lambda f:lambda n:(lambda n:n(lambda x:lambda a:lambda b:b)(lambda a:lambda b:a))(n)(lambda x:lambda a:lambda b:b)((lambda a:lambda b:a(b)(a))((lambda n:n(lambda x:lambda a:lambda b:b)(lambda a:lambda b:a))((lambda n:lambda m:m(lambda n:lambda f:lambda x:n(lambda g:lambda h:h(g(f)))(lambda u:x)(lambda u:u))(n))(n)(d)))((lambda n:n(lambda x:lambda a:lambda b:b)(lambda a:lambda b:a))((lambda n:lambda m:m(lambda n:lambda f:lambda x:n(lambda g:lambda h:h(g(f)))(lambda u:x)(lambda u:u))(n))(d)(n)))(lambda x:lambda a:lambda b:a)(lambda x:f((lambda n:lambda m:m(lambda n:lambda f:lambda x:n(lambda g:lambda h:h(g(f)))(lambda u:
@0e4ef622
0e4ef622 / solution.rs
Created December 17, 2019 18:05
aoc 2019 day 17
use std::collections::*;
use std::borrow::Cow;
use rand::random;
pub fn part1(input: &str) -> impl std::fmt::Display {
let prog = input.trim().split(",").map(|x| x.parse::<i128>().unwrap()).collect::<Vec<_>>();
let mut vm = ic::Icvm::new(prog);
vm.run();