Skip to content

Instantly share code, notes, and snippets.

@insom
insom / docker-compose-eccles.yml
Created January 2, 2023 18:36
Docker Compose for Mastodon
View docker-compose-eccles.yml
version: '3'
services:
web:
build: .
image: tootsuite/mastodon
network_mode: host
ulimits:
as:
hard: 6192000000
soft: 6048000000
@insom
insom / Makefile
Last active March 8, 2022 17:05
Add new statement-based replication records to a MySQL binary log
View Makefile
.PHONY: all
all: main
./main
mysqlbinlog --verify-binlog-checksum --start-position 711 output
main: main.c
gcc main.c -o main
@insom
insom / sortish.cc
Created September 11, 2021 03:21
Kind of sort two products in C++
View sortish.cc
#include <algorithm>
#include <functional>
#include <iostream>
#include <vector>
#include <utility>
#include <string>
using namespace std;
typedef pair<string,int> product;
@insom
insom / shader.sh
Created June 23, 2021 01:19
Amber Screen Shader
View shader.sh
#!/bin/bash
# original b&w version from gemini://perso.pw/blog//articles/xorg-black-and-white.gmi
# which was itself inspired by https://github.com/bubbleguuum/toggle-monitor-grayscale
picom --backend glx --glx-fshader-win "uniform sampler2D tex;
uniform float opacity;
void main() {
vec4 c = texture2D(tex, gl_TexCoord[0].xy);
float y = dot(c.rgb, vec3(0.2126, 0.7152, 0.0722));
@insom
insom / pi-dac.c
Created March 1, 2021 03:51
Quick and Dirty Pi 256x256 Raster Display using a TLC7528CN DAC
View pi-dac.c
#include <stdio.h>
#include "pico/stdlib.h"
#include "hardware/gpio.h"
#include "test.h"
#define FIRST_GPIO 0
char frame[256][256] = {0};
int main() {
@insom
insom / scrolling.c
Created January 2, 2021 18:00
experiments with vt100 scrolling
View scrolling.c
/* vim:ts=2:sw=2:expandtab
*/
#include <ctype.h>
#include <stdio.h>
#include <stdlib.h>
#include <termios.h>
#include <unistd.h>
struct termios orig_termios;
@insom
insom / despair.cpp
Created February 6, 2020 13:04
MySQL Session Tracking for ALL_GTIDS
View despair.cpp
#include <cstdio>
#include <mysql.h>
void retrieve_session_track_data(MYSQL *m) {
const char *data;
size_t length;
for(int type=0; type <= 255; type++) {
if (mysql_session_track_get_first(m, (enum enum_session_state_type) type, &data, &length) == 0) {
do {
@insom
insom / keymap.c
Created February 27, 2018 14:37
Nyquist Keymap File
View keymap.c
#include "nyquist.h"
#include "action_layer.h"
#include "eeconfig.h"
extern keymap_config_t keymap_config;
// Each layer gets a name for readability, which is then used in the keymap matrix below.
// The underscores don't mean anything - you can have a layer called STUFF or any other name.
// Layer names don't all need to be of the same length, obviously, and you can also skip them
// entirely and just use numbers.
@insom
insom / pthread_test.c
Created May 8, 2017 20:03
Let's make a lot of threads!
View pthread_test.c
// gcc -D_GNU_SOURCE=1 -std=c99 a.c
#include <sched.h>
#include <stdio.h>
#include <unistd.h>
#include <stdlib.h>
int f(void *p) {
sleep(2);
}
@insom
insom / mastodon-experiment.py
Created April 23, 2017 15:40
Teensy Tiny OStatus / Mastodon server
View mastodon-experiment.py
import json
from flask import Flask
app = Flask(__name__)
@app.route("/")
def hello():
return "Hello World!"
@app.route("/.well-known/host-meta")
def hostmeta():