Skip to content

Instantly share code, notes, and snippets.

View phillipberndt's full-sized avatar

Phillip Berndt phillipberndt

View GitHub Profile
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 / lddeps.py
Last active May 20, 2021 13:47
Check if an elf file has superflous dependencies
#!/usr/bin/env python
"""
A quick & dirty replacement for dpkg-shlibdeps
Written to check if pqiv uses any unnecessary depencencies. dpkg-shlibdeps
claims that this was the case and I wanted to check.
"""
import functools
import multiprocessing.pool
import os
@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 / gist:ef25e95ef801707eb27a
Created May 7, 2015 10:12
Compile Python for Android
#!/bin/sh
#
# This script builds & bundles Python for Android
# You'll end up with a tar.bz2 file that contains a Python distribution
#
# Requires all prerequisites to build Android on the host, and the NDK
# installed.
#
# This script creates a file python4android.tbz2. Unpack it on your device
# (into a non-noexec partition!) and enjoy.
@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>