Skip to content

Instantly share code, notes, and snippets.

View IAmJSD's full-sized avatar
🔥
Making tooling

Astrid Gealer IAmJSD

🔥
Making tooling
View GitHub Profile
@IAmJSD
IAmJSD / schist-api-specification.md
Last active September 7, 2026 13:44
Schist Provider API Specification — authentication, image generation, and remote workspace protocol v1

Schist Provider API Specification

Status: Draft base protocol, with implemented Schist Cloud extensions documented separately.
Last reviewed: 2026-09-07 (cloud e83cafe; desktop 13456e2).
Authentication/generation version: schist_spec_version: 1.
Remote workspace version: protocol: 1 (independently versioned).
Base TypeScript reference: ts-draft-client.ts, revision b37dfeb2268af67786f0e20ee66d8cd942699643.

This document describes the provider-facing wire contract implemented or explicitly required by the source draft, including its optional native document extension. Sections 8.10–8.15 and the explicitly labeled model additions describe the current Schist Cloud implementation; the older TypeScript reference does not yet wrap every extension. These additions retain workspace protocol: 1 and are not mandatory features of every compatible provider. Section 9.7 s

3b7c3dcec5e2d5fe89856bed079ed21e8558dfedcb86a3e4fe446ce465613755
import { Pool } from "pg";
import postgres from "postgres";
const pool = new Pool({ connectionString: process.env.DATABASE_URL! });
const pgJs = postgres(process.env.DATABASE_URL!);
async function average(fn: () => Promise<any>) {
const times: number[] = [];
for (let i = 0; i < 10; i++) {
const t1 = performance.now();
// Get the global browser map.
const getGlobalBrowserMap = () => {
const v = globalThis.__RAINBOWS_INTERNALS_CONN_STACK_IDENTIFIERS__;
if (!v) {
globalThis.__RAINBOWS_INTERNALS_CONN_STACK_IDENTIFIERS__ = new Map();
return globalThis.__RAINBOWS_INTERNALS_CONN_STACK_IDENTIFIERS__;
}
return v;
};
@IAmJSD
IAmJSD / pgp.pub
Created July 10, 2024 00:59
Me :)
-----BEGIN PGP PUBLIC KEY BLOCK-----
mDMEZo3axhYJKwYBBAHaRw8BAQdAciC9DKol8VD18C3uCci1Qa6rfmNsyQT51uZK
Kq/QVvi0JkFzdHJpZCBHZWFsZXIgPGFzdHJpZGdlYWxlckBnbWFpbC5jb20+iJkE
ExYKAEEWIQQaq9scQqx2zBwbaAlmcUoYq1IyWAUCZo3axgIbAwUJBaOagAULCQgH
AgIiAgYVCgkICwIEFgIDAQIeBwIXgAAKCRBmcUoYq1IyWBIxAQD+wHXzGEtkFWig
YzCp7beF7YJLhhaqev92/fadSbBUTwEAkOP6GW8vtMcWjEF7SsYfM3EpfCbnBGM0
26MvTkRwkgG4OARmjdrGEgorBgEEAZdVAQUBAQdAL6kyE9jLE0XcvgOl1JdI6ggw
PDmxT067nQALhzbn0xsDAQgHiH4EGBYKACYWIQQaq9scQqx2zBwbaAlmcUoYq1Iy
WAUCZo3axgIbDAUJBaOagAAKCRBmcUoYq1IyWDzuAQCZSETt4cK5tF/se8tlbLNw
@IAmJSD
IAmJSD / ssh_signature_miner.rs
Created June 19, 2024 23:17
Allows you to mine for a specific string inside a SSH key signature
use ssh_key::{
private::{KeypairData, RsaKeypair}, rand_core::OsRng,
LineEnding, PrivateKey,
};
use std::{env, path::Path, process, thread};
fn thread_worker(filter: &str) {
loop {
// Generate a SSH key pair.
let key_data = KeypairData::from(RsaKeypair::random(&mut OsRng, 2048).unwrap());
use std::thread;
// A container that holds data and the thread ID of the thread that created the container. Note that
// this container must be dropped in the same thread that created it, otherwise this will panic since
// the thread ID will be different.
pub struct ThreadBoundContainer<T> {
data: T,
thread_id: thread::ThreadId,
}
@IAmJSD
IAmJSD / cemtp-1-spec.md
Last active July 27, 2023 20:40
The specification for Client-side Encrypted Mail Transfer Protocol (CEMTP)

Client-side Encrypted Mail Transfer Protocol (CEMTP) 1.0 Specification

Created By: Astrid Gealer, Web Scale Software Ltd astrid@webscalesoftware.ltd

Created On: 23rd July 2023

Terminology

  • A "client" refers to a mail server or user wishing to connect via the protocol to the host server.
  • A "user" refers to a user of the host mail server.

tldr: I'm a woman and go by she/her pronouns. My name is Astrid!

Coming out

So there's something I have hid from the internet for over 2 years. I'm trans, I am a woman, and my name is Astrid. I didn't hide it because I thought most people would hate me for it, I hid it because I was scared people would have pre-conceived notions about me and not really understand. Through this, I fragmented the internet with my deadname more and more, and it is something I am actively mopping up now, but now is the time to fix it for a few reasons:

  1. I cannot pretend to be a guy in some circles anymore: I didn't realise how much of a mental toll it had on me until recently when I woke up and realised I needed to come out. I have came out to many people already, and everyone I have came out to has been amazing. I am so thankful to be in the tech circle and have amazing friends who I know will make sure everything is going to be okay.
  2. It's doing a disservice to me and all you: I feel like I could not go to events befor
@IAmJSD
IAmJSD / test_server.go
Created May 13, 2023 19:51
Simple test server for testing HTTP requestors.
package main
import (
"encoding/json"
"os"
"strings"
"github.com/fasthttp/router"
"github.com/valyala/fasthttp"
)