Skip to content

Instantly share code, notes, and snippets.

View phillipberndt's full-sized avatar

Phillip Berndt phillipberndt

View GitHub Profile
@phillipberndt
phillipberndt / setup.py
Created August 18, 2014 12:57
Cython test (For SO question 25141838)
#!/usr/bin/env python
from distutils.core import setup
from Cython.Build import cythonize
setup(
ext_modules = cythonize("test.pyx")
)
@phillipberndt
phillipberndt / magic.jl
Last active August 29, 2015 14:05
Magic squares in Julia
# These are possibly naïve implementations of magic squares generation
# for a micro-benchmark to compare Julia to Python and Matlab
#
function magic_matlab(n::Int64)
# Works exactly as Matlab's magic.m
if n % 2 == 1
p = (1:n)
M = n * mod(broadcast(+, p', p - div(n+3, 2)), n) + mod(broadcast(+, p', 2p - 2), n) + 1
function magic!(M::Array{Int}, n::Int)
# Fast magic square generation
#
#
if n % 2 == 1
# Odd-order magic square
# Algorithm: http://en.wikipedia.org/wiki/Magic_square#Method_for_constructing_a_magic_square_of_odd_order
#
ndiv2 = div(n, 2);
for I = 1:n
@phillipberndt
phillipberndt / build_xrandr.sh
Created January 23, 2015 10:06
Build binaries of all xrandr versions
#!/bin/sh
git clone http://cgit.freedesktop.org/xorg/app/xrandr/ || exit 1
cd xrandr || exit 1
for TAG in $(git tag | grep "^xrandr-"); do
git reset --hard HEAD
git clean -fx
git checkout $TAG
mv configure.ac configure.ac~
grep -vE "(m4_ifndef|m4_fatal|XORG_MACROS_VERSION)" configure.ac~ > configure.ac
@phillipberndt
phillipberndt / 0autorandr_test_env_readme
Last active August 29, 2015 14:15
autorandr test environment
This is a small test environment for autorandr, that can be added as a
pre-commit git hook in local copies of the repository.
How-to:
Run `generate_fixtures.sh` to build all xrandr versions and generate fixtures.
Fixtures are a set of two files, FOO.version and FOO.verbose, that are the output
of `xrandr -v` and `xrandr --verbose -q`. You can also write more elaborate
tests by placing a script into the dynamic/ subfolder. It will be executed instead
of xrandr by tests.
diff --git a/libc/dns/net/getaddrinfo.c b/libc/dns/net/getaddrinfo.c
index 2612d6a..277afb0 100644
--- a/libc/dns/net/getaddrinfo.c
+++ b/libc/dns/net/getaddrinfo.c
@@ -80,6 +80,7 @@
#include <fcntl.h>
#include <sys/cdefs.h>
#include <sys/types.h>
+#include <time.h>
#include <sys/stat.h>
@phillipberndt
phillipberndt / autorandr.patch
Created May 18, 2015 08:43
autorandr patch to show DPI
diff --git a/autorandr.py b/autorandr.py
index 19722c9..6df9d9b 100755
--- a/autorandr.py
+++ b/autorandr.py
@@ -129,7 +129,8 @@ class XrandrOutput(object):
(?P<rotate>(?:normal|left|right|inverted))\s+ # Rotation
(?:(?P<reflect>X\ and\ Y|X|Y)\ axis)? # Reflection
)? # .. but everything of the above only if the screen is in use.
- (?:[\ \t]*\([^\)]+\))(?:\s*[0-9]+mm\sx\s[0-9]+mm)?
+ (?:[\ \t]*\([^\)]+\))\s*
#include <gtk/gtk.h>
void main() {
GtkTextIter start, end, inspos, tagpos;
gsize length;
GtkTextBuffer *buffer = gtk_text_buffer_new(NULL);
GtkTextTag *tag1 = gtk_text_buffer_create_tag(buffer, "tagone", NULL);
GtkTextTag *tag2 = gtk_text_buffer_create_tag(buffer, "tagtwo", NULL);
@phillipberndt
phillipberndt / xcbtest.c
Created June 24, 2015 13:18
test if fakexrandr supports xcb
/* compile with
gcc -oxcbtest xcbtest.c -lxcb -lxcb-randr -lX11 -lXrandr
*/
#include <xcb/xcb.h>
#include <xcb/randr.h>
#include <X11/extensions/Xrandr.h>
#include <X11/Xlibint.h>
@phillipberndt
phillipberndt / randr.c
Created June 24, 2015 16:05
xcb generated files for the randr extension for https://github.com/phillipberndt/fakexrandr/issues/16
/*
* This file generated automatically from randr.xml by c_client.py.
* Edit at your peril.
*/
#ifdef HAVE_CONFIG_H
#include "config.h"
#endif
#include <stdlib.h>
#include <string.h>