Skip to content

Instantly share code, notes, and snippets.

Benedikt Terhechte terhechte

View GitHub Profile
@terhechte
terhechte / gist:9699534
Created Mar 22, 2014
Use PKCS5_PBKDF2_HMAC_SHA1 from widthin Lua to decrypt aes128 with several roundtrips
View gist:9699534
functions = {}
aes = require("resty.aes")
local ffi = require "ffi"
ffi.cdef[[
int PKCS5_PBKDF2_HMAC_SHA1(const char *pass, int passlen,
const unsigned char *salt, int saltlen, int iter,
int keylen, unsigned char *out);
]]
@terhechte
terhechte / gist:a8059c45f259b7a5ba01
Created Oct 12, 2014
Implement "cond" expression (from Lisp) in Swift
View gist:a8059c45f259b7a5ba01
//
// AppDelegate.swift
// testasdfsadf
//
// Created by Benedikt Terhechte on 10/12/14.
// Copyright (c) 2014 Benedikt Terhechte. All rights reserved.
//
import Cocoa
View csstest1
.iu-collection.cz-collection {
display: none !important;
visibility: hidden !important;
}
div.cz-container div.sc-push div.iu-collection {
display: none !important;
visibility: hidden !important;
}
.pm-category-active {
background-color: #000 !important;
@terhechte
terhechte / gist:4541442
Created Jan 15, 2013
Example of how to use the category key/value approach from my blogpost here: http://appventure.me/2011/12/fast-nsdictionary-traversal-in-objective-c.html
View gist:4541442
#import <Cocoa/Cocoa.h>
@interface NSDictionary (objectForKeyList)
- (id)objectForKeyList:(id)key, ...;
@end
@implementation NSDictionary (objectForKeyList)
- (id)objectForKeyList:(id)key, ...
{
View gist:4665223
import os
# go through the whole folder, and add all directories, that contain sourcecode
# Which directories to scan
directories = ("MyFantasticProject", "External", "libs")
def find_all_source_directories(parentDir):
def directories_contains_source(files):
for f in files:
@terhechte
terhechte / postgresql-trigger.sql
Last active Jan 4, 2016
Postgresql url partition scheme action trigger function
View postgresql-trigger.sql
CREATE OR REPLACE FUNCTION url_insert_trigger()
RETURNS TRIGGER AS $$
BEGIN
IF (ascii(NEW.url) in (115)) THEN
INSERT INTO urls_s VALUES (NEW.*);
ELSIF (ascii(NEW.url) in (97, 107)) THEN
INSERT INTO urls_ak VALUES (NEW.*);
ELSIF (ascii(NEW.url) in (98, 108)) THEN
INSERT INTO urls_bl VALUES (NEW.*);
@terhechte
terhechte / urlschemetables.sql
Created Jan 25, 2014
postgresql url partition scheme setup
View urlschemetables.sql
CREATE TABLE urls_s (CHECK (ascii(url) in (115))) INHERITS (urls);
CREATE TABLE urls_ak (CHECK (ascii(url) in (97, 107))) INHERITS (urls);
CREATE TABLE urls_bl (CHECK (ascii(url) in (98, 108))) INHERITS (urls);
CREATE TABLE urls_cj (CHECK (ascii(url) in (99, 106))) INHERITS (urls);
CREATE TABLE urls_de (CHECK (ascii(url) in (100, 101))) INHERITS (urls);
CREATE TABLE urls_fg (CHECK (ascii(url) in (102, 103))) INHERITS (urls);
CREATE TABLE urls_hiv (CHECK (ascii(url) in (104, 105, 118))) INHERITS (urls);
CREATE TABLE urls_mr (CHECK (ascii(url) in (109, 114))) INHERITS (urls);
CREATE TABLE urls_np (CHECK (ascii(url) in (110, 112))) INHERITS (urls);
CREATE TABLE urls_txzyo (CHECK (ascii(url) in (116, 120, 122, 121, 111))) INHERITS (urls);
@terhechte
terhechte / gtk3-swift-package-issues.scala
Last active Jan 23, 2016
GTK3 Linux Swift header issues
View gtk3-swift-package-issues.scala
/**
I tried to get GTK running with Swift. To run this, a Linux machine with a working GTK3
installation is needed (could also work with OSX && brew install gtk+3, however I did not try that);
i.e.
`sudo apt-get install libgtk-3-dev`
Initially I tried with GTK but since GTK has dependencies to a lot of other things, I tried something
simpler, i.e. in this case GDK which has only dependencies to X11.
View keybase.md

Keybase proof

I hereby claim:

  • I am terhechte on github.
  • I am terhechte (https://keybase.io/terhechte) on keybase.
  • I have a public key whose fingerprint is 9637 08F2 4838 F953 6D90 FA3F 7CD9 6B05 258B 7980

To claim this, I am signing this object:

@terhechte
terhechte / slow_kvo_dictionary_example2.m
Created Dec 7, 2011
Example 1 of slow and fast NSDictionary access
View slow_kvo_dictionary_example2.m
// Created by Benedikt Terhechte on 07.12.11.
// Appventure.me
//
#import <Foundation/Foundation.h>
#define AKeyPathDictionary(dictionary, A) [dictionary objectForKey:@A]
#define BKeyPathDictionary(dictionary, A, B) [AKeyPathDictionary(dictionary, A) objectForKey:@B]
#define CKeyPathDictionary(dictionary, A, B, C) [BKeyPathDictionary(dictionary, A, B) objectForKey:@C]
#define DKeyPathDictionary(dictionary, A, B, C, D) [CKeyPathDictionary(dictionary, A, B, C) objectForKey:@D]
You can’t perform that action at this time.