Skip to content

Instantly share code, notes, and snippets.

View maxsei's full-sized avatar

Maximillian Schulte maxsei

View GitHub Profile
@maxsei
maxsei / welford.zig
Created September 19, 2024 16:58
welfords online variance algorithm
const std = @import("std");
pub fn main() void {
const input1 = [_]f32{1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12 };
var mean: f32 = 0;
var variance: f32 = 0;
for (input1, 0..) |v, count| {
const delta = v - mean;
mean += delta / @as(f32, @floatFromInt(count + 1));
const delta2 = v - mean;
@maxsei
maxsei / id_obfuscate.go
Last active August 22, 2024 23:11
Nice way of obfuscating database ids https://go.dev/play/p/4t9Ej8xOG5C
package main
import (
"bytes"
"encoding/base32"
"encoding/binary"
"fmt"
"io"
)
@maxsei
maxsei / debug_mutex.go
Created August 21, 2024 18:56
debug mutex lol
package main
import (
"fmt"
"runtime"
"sync"
)
func NewDebugMutex() sync.Locker {
return &debugMutex{}
@maxsei
maxsei / device_magnager_api.go
Created July 17, 2024 22:54
device manager api
package main
import (
"database/sql"
"errors"
"fmt"
"io"
"slices"
"sync"
"time"
import type { CodegenConfig } from "@graphql-codegen/cli";
const config: CodegenConfig = {
overwrite: true,
schema: "./graph/*.graphql",
documents: ["./app/graph/*.gql"],
generates: {
"./app/graph/types.ts": {
config: {
useTypeImports: true,
@maxsei
maxsei / event_store.go
Created July 11, 2024 14:37
crazy event store 🙃
package eventstore
import (
"errors"
"sync/atomic"
"time"
)
var (
ErrCas = errors.New("CAS error")
@maxsei
maxsei / ranked_view.sql
Created July 6, 2024 16:44
creating a view where there is a true identifier (serial_number) that is time ordered
-- Create the devices table
DROP TABLE IF EXISTS devices;
CREATE TABLE devices (
id INTEGER PRIMARY KEY,
name TEXT NOT NULL,
serial_number TEXT NOT NULL,
baud INTEGER NOT NULL,
UNIQUE(name)
);
@maxsei
maxsei / bus.go
Created July 5, 2024 19:05
bus implementation with a few different publishing policies
package bus
import (
"errors"
"slices"
"sync"
)
var (
ErrBusClosed = errors.New("closed")
@maxsei
maxsei / main.go
Created July 4, 2024 21:56
work in progress for generating nulls for gqlgen types
package main
import (
"fmt"
"go/importer"
"go/types"
"log"
"github.com/99designs/gqlgen/api"
"github.com/99designs/gqlgen/codegen/config"
@maxsei
maxsei / configuration.md
Last active June 13, 2024 03:30
configuration for sqlc issue: Support multiple conflict targets in upsert statements for SQLite parser

output

$ sqlc verify
line 5:0 extraneous input 'ON' expecting {<EOF>, ';', ALTER_, ANALYZE_, ATTACH_, BEGIN_, COMMIT_, CREATE_, DEFAULT_, DELETE_, DETACH_, DROP_, END_, EXPLAIN_, INSERT_, PRAGMA_, REINDEX_, RELEASE_, REPLACE_, ROLLBACK_, SAVEPOINT_, SELECT_, UPDATE_, VACUUM_, VALUES_, WITH_}
line 7:0 extraneous input '<EOF>' expecting {';', ALTER_, ANALYZE_, ATTACH_, BEGIN_, COMMIT_, CREATE_, DEFAULT_, DELETE_, DETACH_, DROP_, END_, EXPLAIN_, INSERT_, PRAGMA_, REINDEX_, RELEASE_, REPLACE_, ROLLBACK_, SAVEPOINT_, SELECT_, UPDATE_, VACUUM_, VALUES_, WITH_}
# package
query.sql:1:1: extraneous input '<EOF>' expecting {';', ALTER_, ANALYZE_, ATTACH_, BEGIN_, COMMIT_, CREATE_, DEFAULT_, DELETE_, DETACH_, DROP_, END_, EXPLAIN_, INSERT_, PRAGMA_, REINDEX_, RELEASE_, REPLACE_, ROLLBACK_, SAVEPOINT_, SELECT_, UPDATE_, VACUUM_, VALUES_, WITH_}
error verifying: errored