Skip to content

Instantly share code, notes, and snippets.

View aadishv's full-sized avatar
🛰️
pixelsat

Aadish Verma aadishv

🛰️
pixelsat
View GitHub Profile

So we have Aadish, everybody knows Aadish, and people come up to me, big strong people, tears in their eyes, and they say "Sir, is it true, is Aadish really a radish?" And I say folks, I've seen the birth certificates — plural, there's more than one, which tells you something right there, remember what we found out about Barack Hussein Obama, and by the way Obama spent $35 million on the Reflecting Pool and it still turned green, I did it for a tiny fraction of that, 14, maybe 16, the numbers people give me, but mine was American flag blue, the most beautiful blue, until the vandals — we'll get to the vandals. But Aadish. Born in 2010, it says it right on the certificate, 2010, in a garden, a very big garden, and under "species" — and I'd never seen this on a birth certificate before, and I know certificates, I know them better than anybody — it says RADISH. In capital letters. Big, old, and frankly a very very large radish, some say the largest, I don't say it, they say it.

And you know what happened when I

I'll dig into this. Let me first check what your project actually qualifies for, then search for current grants.The key constraint jumps out immediately: most CubeSat funding (NASA CSLI, University Nanosatellite Program, Space Grant Consortia) is restricted to postsecondary institutions or registered nonprofits. As a high-school-led team, you're excluded from the big ones. Let me search for what high schoolers can actually win.Now the realistic angle. A few of these need a teacher as the applicant with funds paid to the school — workable if an OHS faculty advisor applies on your behalf. Let me check the amateur-radio funding route, since you're operating on the 435 MHz UHF amateur band, plus a couple of others.ARRL and its funder ARDC are the strongest fit — you're literally an amateur-radio UHF mission. Let me check ARDC directly, since they fund larger grants and are Bay Area-based.The hard truth first: almost every space-specific grant (NASA CSLI, University Nanosatellite Program, the state Space Grant C

// ==UserScript==
// @name Pronto offline
// @author aadishv
// @namespace https://aadishv.dev/
// @version 2.0
// @description Blocks presence pusher subscription and fake sub success to make you appear offline on Pronto. Use in conjunction with uBlock Origin rules in rules.txt
// @match *://stanfordohs.pronto.io/*
// @run-at document-start
// @grant none
// ==/UserScript==
@aadishv
aadishv / pronto.user.js
Created March 26, 2026 00:03
install using a userscript manager like tampermonkey (may take a few minutes to get set up). can easily modify code to change the replacement character
// ==UserScript==
// @name Pronto Underscore Messages
// @namespace http://tampermonkey.net/
// @version 1.1
// @description Replaces spaces with underscores in outgoing messages on Pronto
// @match https://stanfordohs.pronto.io/*
// @grant none
// @run-at document-start
// ==/UserScript==
@aadishv
aadishv / slop.rs
Created January 31, 2026 01:00
slop
use std::sync::{Arc, Mutex};
use tokio::io::{AsyncReadExt, AsyncWriteExt};
use wincode::{SchemaRead, SchemaWrite, config::{Configuration, Deserialize, Serialize}};
use std::time::Duration;
pub trait Transportable<'a>: SchemaRead<'a, Configuration, Dst = Self> + SchemaWrite<Configuration, Src = Self> {}
#[derive(Clone)]
pub struct History<T>
where
@aadishv
aadishv / claude-style.ts
Created January 25, 2026 20:18
the power of vibe coding!!
import type { ExtensionAPI } from "@mariozechner/pi-coding-agent";
import { truncateToWidth } from "@mariozechner/pi-tui";
import * as path from "node:path";
export default function (pi: ExtensionAPI) {
pi.on("session_start", async (_event, ctx) => {
if (!ctx.hasUI) return;
ctx.ui.custom((tui, theme, _kb, done) => {
const isAssistantComponent = (c: any) =>
@aadishv
aadishv / unoduo.py
Created December 28, 2025 01:04
ACSL 2024 contest 2 programming problem senior div. I wrote a way more complex, 51-line mess and rewrote it from scratch to be simpler after it was failing some test cases and I had no idea why. Fun fact: that mess was also a valid solution, it was failing because the test cases I were pasting in had invalid formatting (curse you, PDF text wrapp…
def matches(card1: str, card2: str) -> bool:
if len(card1) == 1 or len(card2) == 1: # 1+1 | 1+3 | 3+1
return (card1 in card2) or (card2 in card1)
else: # 3+3
return sum([1 if i == j else 0 for i, j in zip(card1, card2)]) == 2
piles = input().split()
hand = input().split()
draw_pile = input().split()
name research-repo
description Use an AI agent with full access to a certain external repository to research. Useful when writing code involving a library to get code examples and information. Use when the user suggests to research how to do something with a certain library.

Research repo

Use this guide for cloning and using AI to analyze the repository of a certain repository.

Example usecase: you're building an app using the Vercel AI SDK, but you're not sure how to create a custom provider. In this case, you can use this skill to clone the vercel/ai GitHub repo and ask an AI for examples of custom providers.

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Session Export - 2025-12-26T05-42-39-959Z_ee2592e0-3252-4ab6-a4e3-6540f0b0cedf.jsonl</title>
<style>
* { margin: 0; padding: 0; box-sizing: border-box; }
body {
font-family: ui-monospace, 'Cascadia Code', 'Source Code Pro', Menlo, Consolas, 'DejaVu Sans Mono', monospace;
@aadishv
aadishv / rust.md
Created December 26, 2025 04:11
I hate you chroma for making me go on these stupid deep dives

Functions are code that take in inputs and return outputs. Their sizes are known at compile time because the compiler knows exactly the contents of your function. The machine code of the functions are stored in a section (.text) of the binary data. Each function also has a different type. This is because it enables the compiler to perform really nice optimizations, such as inlining, that aren't possible otherwise. Closures are also stored as machine code in the binary data. Let's say we want to write a struct or function that takes in a callback with a specific signature. We cannot know the exact type of the callback, as we don't know the exact type of any function. We thus have a few options for how to type the callback.

We could use impl Fn(...) -> ...; this happens at compile time. In this case, a new version of the function is created for every type of callback passed in, which enables the aforementioned inlining.

We could also use fn(...) -&gt; ... to type for a function pointer to a function with