Skip to content

Instantly share code, notes, and snippets.

View timjb's full-sized avatar

Tim Baumann timjb

View GitHub Profile
{
"@context": {
"@version": 1.1,
"@protected": true,
"summary": "https://w3id.org/2023/tractusx/credentials/summary/",
"id": "@id",
"type": "@type",
"SummaryCredential": {
"@context": [
"https://gist.githubusercontent.com/timjb/520915f8cb527443102aff793b481988/raw/9fa7f71462afdeed2b2aa2d8aef66480784466e0/credentials.json"
@timjb
timjb / BigNats.ts
Last active March 3, 2020 20:19
Vortrag über Programmierung auf Typebene in TypeScript
namespace BigNats {
type RepeatHelper<N extends number, T extends any, CurrList extends T[], CurrSizes extends number[]> =
CurrSizes extends [1]
? (CurrList["length"] extends N ? ["found", CurrList] : ["not-found", Cons<T,CurrList>])
: {
"true": RepeatHelper<N, T, CurrList, Tail<CurrSizes>> extends ["not-found", infer NewCurrList]
? RepeatHelper<N, T, Cast<NewCurrList, T[]>, Tail<CurrSizes>>
: RepeatHelper<N, T, CurrList, Tail<CurrSizes>>
}[CurrSizes extends [-1] ? "not-going-to-happen" : "true"];
// adapted from https://stackoverflow.com/a/28345802
import org.junit.rules.TestRule;
import org.junit.runner.Description;
import org.junit.runners.model.Statement;
public class RepeatRule implements TestRule {
private static class RepeatStatement extends Statement {
private final Statement statement;
@timjb
timjb / GithubUser.hs
Created March 18, 2019 13:55
FTypes JSON example
{-# LANGUAGE GeneralizedNewtypeDeriving #-}
{-# LANGUAGE KindSignatures #-}
{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE TemplateHaskell #-}
{-# LANGUAGE TypeFamilies #-}
{-# LANGUAGE RecordWildCards #-}
module GithubUser where
import JSONFormat
/* angepasster CSS-Code von */
/* https://marketpress.de/2019/schriftarten-atomion/ */
body,
button,
select,
optgroup,
textarea {
font-family: mr-eaves-sans, sans-serif;
}
module SizedTrees where
open import Agda.Builtin.Size
data list (A : Set₀) : Set₀ where
nil : list A
cons : A → list A → list A
map : ∀{A B} → (A → B) → list A → list B
map f nil = nil
@timjb
timjb / ypassword
Created June 10, 2018 12:42
YPassword LastPass CSV Export
#!/usr/bin/env zsh
print -- "usage: $0:t"
print -- " generate a password using the ypassword method"
print -- " See http://ypassword.espozito.com for more informations"
passfile="$HOME/.passwd"
echo -n "Enter your master password please: "
oldmodes=$(stty -g)
use std::cmp::Ordering;
struct UnionFindEntry {
parent: usize,
rank: usize,
}
struct UnionFind {
trees: Vec<UnionFindEntry>,
}
module Main where
import Data.List (intercalate)
import Control.Monad (forM_)
type Nat = Int
type Prime = Nat
type HashFunction = Int -> Int
type HashFunctionFamily = Nat -> HashFunction

Instructions

This intended to be used together with seafile-docker installed in /var/seafile.

To install:

$ sudo vim /etc/systemd/system/seafile.service # paste the file above
$ sudo systemctl enable /etc/systemd/system/seafile.service
$ sudo systemctl start seafile.service