Skip to content

Instantly share code, notes, and snippets.

View niklasf's full-sized avatar

Niklas Fiekas niklasf

View GitHub Profile
@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 / title_and_description_delegate.cpp
Last active January 3, 2018 20:00
A Qt QItemDelegate that shows a bold title above a description text. Could also be used to render more general rich text in QTableView and co.
#include "title_and_description_delegate.h"
void TitleAndDescriptionDelegate::paint(QPainter *painter, const QStyleOptionViewItem &option, const QModelIndex &index) const
{
m_paintingIndex = index;
QItemDelegate::paint(painter, option, index);
}
void TitleAndDescriptionDelegate::drawDisplay(QPainter *painter, const QStyleOptionViewItem &option, const QRect &rect, const QString &text) const
{
@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
@niklasf
niklasf / 8-8-8-8-switch.png
Last active December 28, 2015 07:29
8-8-8-8 Switch Dia Shape
8-8-8-8-switch.png
/*
* GccApplication1.c
*
* Created: 19.11.2013 13:22:54
* Author: ese1-30
*/
#include <avr/io.h>
#include <util/delay.h>
#include <avr/io.h>
#include <avr/interrupt.h>
#include <util/delay.h>
void display_internal(uint8_t mask, uint8_t c)
{
uint8_t bm = mask == 0x0F ? 0b00000000 : 0b00001000;
uint8_t sh = mask == 0x0F ? 0 : 4;
if ((c & mask) >> sh == 0x00) {