Skip to content

Instantly share code, notes, and snippets.

View niklasf's full-sized avatar

Niklas Fiekas niklasf

View GitHub Profile
#!/usr/bin/python2
import random
import math
# Model
# =====
class TicTacToeGrid(object):
def __init__(self):
@niklasf
niklasf / feasible.c
Last active August 29, 2015 14:09
Compute a deterministic strategy to sustain the highest feasible discounted payoff in the battle of the sexes
#include <stdio.h>
#include <gmp.h>
#include <stdlib.h>
int main(int argc, char *argv[]) {
if (argc <= 1) {
printf("Give number of iterations as arguments!\n");
}
mpq_t husband, wife, value, delta;
@niklasf
niklasf / check_temperature.pl
Last active August 29, 2015 14:09
Nagios plugin that checks the temperature of thermal_zone0
#!/usr/bin/perl
#
# Copyright (c) 2014 Niklas Fiekas <niklas.fiekas@tu-clausthal.de>
#
# Permission is hereby granted, free of charge, to any person obtaining a copy
# of this software and associated documentation files (the "Software"), to deal
# in the Software without restriction, including without limitation the rights
# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
# copies of the Software, and to permit persons to whom the Software is
# furnished to do so, subject to the following conditions:
@niklasf
niklasf / fuzz-engine.py
Last active September 17, 2015 03:49
Fuzz testing for UCI engines
#!/usr/bin/python3
# Fuzz testing for UCI engines using python-chess.
import chess
import chess.uci
import random
import logging
import sys
random.seed(123456)
@niklasf
niklasf / db.class.php
Created February 22, 2011 22:03
A reusable class for MySQL queries in PHP.
<?php
error_reporting(E_ALL);
define('DB_HOSTNAME', 'localhost');
define('DB_USERNAME', '***');
define('DB_PASSWORD', '***');
define('DB_DATABASE', '***');
define('DB_PCONNECT', TRUE);
@niklasf
niklasf / tic-tac-toe.js
Last active December 16, 2015 21:09
Tic-tac-toe over TCP.
var net = require('net');
var nextGame = null;
function Game() {
var self = this;
this.clients = new Array();
var board = new Array("1", "2", "3",
@niklasf
niklasf / update.py
Created May 1, 2013 22:32
Sample Git update hook that deploys the changed files to the web root.
#!/usr/bin/python
import logging
import git
import sys
import os
def main():
"""
Update all files according to a diff.
@niklasf
niklasf / lebesgue.py
Created May 2, 2013 11:08
Calculate the lebesgue constant of a polynomial interpolation operator.
import math
n = 20
#x_k = [-1 + 2 * k / float(n) for k in range(0, n + 1)]
x_k = [math.cos((2.0 * k + 1) / (2.0 * n +2.0) * math.pi)
for k in range(0, n + 1)]
def l_j(j, x):
@niklasf
niklasf / matrixmult.py
Last active December 17, 2015 08:39
An O(n^2.81) n-x-n-matrix multiplication algorithm.
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import unittest
def multiply(A, B):
if len(A) == 1:
return [[ A[0][0] * B[0][0] ]]
elif len(A) % 2 == 1:
return shrink(multiply(expand(A), expand(B)))
@niklasf
niklasf / 8-8-8-2-switch.png
Last active December 28, 2015 07:29
8-8-8-2 Switch Dia shape
8-8-8-2-switch.png