Skip to content

Instantly share code, notes, and snippets.

@steinelu
steinelu / argsort.zig
Last active January 1, 2025 23:19
zig argsort example
const std = @import("std");
const builtin = @import("builtin");
pub fn main() !void {
const n = 20;
var idx : [n]u8 = undefined;
for (&idx, 0..) |*id, i| {
id.* = @intCast(i);
}
@steinelu
steinelu / CartesianTree.c
Last active August 25, 2023 09:02
Small C program that constructs a Cartesian tree from an array (and generates a Graphviz dot file from it)
#include <stdio.h>
#include <stdlib.h>
struct Node{
struct Node *parent;
struct Node *left;
struct Node *right;
int index;
int value;
};
@steinelu
steinelu / segment_tree.py
Last active July 15, 2023 17:59
Segment Tree Python
import math
class SegmentTree:
def __init__(self, arr, function, neutral_element):
self.m = len(arr)
k = math.ceil(math.log2(self.m)) + 1
self.n = 2**k
self.arr = arr
self.tree = [neutral_element for _ in range(self.n)]
self.foo = function
self.neutral_element = neutral_element
@steinelu
steinelu / shutdown.ps1
Last active October 1, 2022 16:46
a small server waiting for a single connection
# strongly inspired from https://hkeylocalmachine.com/?p=518
$listener = New-Object System.Net.HttpListener
$listener.Prefixes.Add('http://+:8000/')
$listener.Start()
while ($true){
$context = $listener.GetContext()
function foo(n::UInt)
if n == 1 || n == 0
return n
end
if n%2 == 0
return 4 * foo(UInt(n/2))
else
return 4 * foo(UInt(floor(n/2))) + 1
end
end
@steinelu
steinelu / template.tex
Created November 8, 2020 22:24
assignment template
\documentclass[12pt,a4paper]{scrartcl}
\usepackage[utf8]{inputenc}
\usepackage[ngerman]{babel}
\usepackage{listings}
\usepackage{amsmath,amssymb,amstext,amsthm}
\usepackage{tikz}
\usepackage{hyperref}
\usepackage{url}
\usepackage[headsepline]{scrpage2}
@steinelu
steinelu / Powershell matchgroups (regex)
Created October 10, 2020 21:32
How to use matchgroups in powershell
"Hallo Welt!" | Select-String ".* (.*)" | ForEach-Object {$_.Matches.Groups[1]}
@steinelu
steinelu / getTerminalSize.go
Last active November 22, 2024 14:46
Get Terminal size in golang
func consoleSize() (int, int) {
cmd := exec.Command("stty", "size")
cmd.Stdin = os.Stdin
out, err := cmd.Output()
if err != nil {
log.Fatal(err)
}
s := string(out)
package main
import (
"fmt"
"encoding/json"
)
func main() {
dict := make(map[int]string)
dict[12] = "Lukas"
def polynomial(degree):
def poly(x):
return np.asarray([x**g for g in range(degree)]).reshape((degree, x.shape[0])).transpose()
return poly