Skip to content

Instantly share code, notes, and snippets.

View krono's full-sized avatar

Tobias Pape krono

View GitHub Profile
#include <stdio.h>
void foo(void) {
static int barf=10;
barf++;
}
int main()
{
printf("test: %d\n", (int)foo());
@krono
krono / dotify-package-deps.st
Last active December 20, 2015 07:18 — forked from frankshearar/dotify-package-deps.st
Make a dot/graphviz-file from the package-dependencies in Squeak
| allDeps toDigraph |
"Avoid artifacts"
MCWorkingCopy flushObsoletePackageInfos.
PackageOrganizer default flushObsoletePackages: [:p |
p classes size = 0 and: [p methods size = 0]].
Smalltalk garbageCollect.
""
toDigraph := [:hash | | s |
s := WriteStream on: String new.
s nextPutAll: 'digraph {'; lf.
@krono
krono / fix-brew-outdated-gettext.sh
Created March 31, 2013 17:04
Gettext via brew was updated and the old one cleaned, yet, some libs still directly linked to the old gettext directly. This gist fixes this problems by reinstalling all affected packages.
#!/bin/bash
pushd /usr/local/lib
for package in $(
for i in *.dylib; do
if otool -L $i | grep -q gettext/0.18.1.1; then
# get pacakge out ouf library
echo $(basename $(dirname $(dirname $(dirname $(readlink $i)))));
fi;
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
--- binarytrees-generic.rkt 2015-10-28 11:06:42.000000000 +0100
+++ binarytrees-generic-boolean.rkt 2015-10-28 11:51:04.000000000 +0100
@@ -14,15 +14,15 @@
(define-syntax leaf? (make-rename-transformer #'*leaf?))
(define-syntax node (make-rename-transformer #'*node))
(define-syntax node? (make-rename-transformer #'*node?))
-(define-syntax-rule (leaf-val l) (*leaf-val l))
+(define-syntax-rule (leaf-val l) (if (*leaf-val l) 0 1))
(define-syntax-rule (node-left n) (*node-left n))
(define-syntax-rule (node-right n) (*node-right n))
[14:41:04]ζtobias@Claudio ± structs
~/dev/pypy/pycket % ./pycket-c binarytrees-generic-boolean.rkt 18
stretch tree of depth 19 check: 1
524288 trees of depth 4 check: 262144
131072 trees of depth 6 check: 65536
32768 trees of depth 8 check: 16384
8192 trees of depth 10 check: 4096
2048 trees of depth 12 check: 1024
512 trees of depth 14 check: 256
128 trees of depth 16 check: 64
from pypy.rlib.parsing.tree import Node as PyNode
from pypy.rlib.parsing.lexer import SourcePos
class Node(PyNode):
def __init__(self, source_position=None):
self.source_position = source_position or SourcePos(-1,-1,-1)
def __eq__(self, other): pass #...
@krono
krono / cpp-id-shadowing.c
Last active October 2, 2015 11:50
ID shadowing?
struct {int foo;} snarfu;
/*
*/
#define WRAP(x) x
/*
*/
snarfu;
snarfu();
WRAP(snarfu);
WRAP(snarfu());
@krono
krono / do.sh
Created August 10, 2015 20:19
virtualenv…
#!/bin/sh
# this was done a long time ago
ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
brew install pypy
# use system python for virtualenv
sudo easy_install pip
# probably some updates here?
Script started on Mon Aug 10 22:05:34 2015
(B]0;pompompom/]7;file:///tmp/pompompom%
(B(B[22:05:35]ζ(Btobias@claudio (B
/tmp/pompompom(B %(B vvirtualenv -p pypy
Running virtualenv with interpreter /usr/local/bin/pypy
You must provide a DEST_DIR
Usage: virtualenv.py [OPTIONS] DEST_DIR