Skip to content

Instantly share code, notes, and snippets.

Avatar

Phillip Berndt phillipberndt

View GitHub Profile
View bionic-libc-lookup-times.diff
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 / 0autorandr_test_env_readme
Last active Aug 29, 2015
autorandr test environment
View 0autorandr_test_env_readme
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.
@phillipberndt
phillipberndt / build_xrandr.sh
Created Jan 23, 2015
Build binaries of all xrandr versions
View build_xrandr.sh
#!/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 / lddeps.py
Last active Aug 29, 2015
Check if an elf file has superflous dependencies
View lddeps.py
#!/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
View magic.jl
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 / magic.jl
Last active Aug 29, 2015
Magic squares in Julia
View magic.jl
# 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
@phillipberndt
phillipberndt / setup.py
Created Aug 18, 2014
Cython test (For SO question 25141838)
View setup.py
#!/usr/bin/env python
from distutils.core import setup
from Cython.Build import cythonize
setup(
ext_modules = cythonize("test.pyx")
)
@phillipberndt
phillipberndt / build_linux_pqiv.sh
Last active Sep 2, 2018
Script to create a statically linked build of pqiv with dependencies
View build_linux_pqiv.sh
#!/bin/bash
#
# Build a statically linked version of all pqiv prerequisites and some fake
# ones (atk-bridge, epoxy). Then, compile a statically linked version of pqiv.
#
# This script is only useful in Linux. For Windows, use mxe.cc, a great script
# to compile mingw cross compiler environments with all the required
# dependencies and libraries.
#
# The resulting binary works fine at least between libc 2.15 and 2.19 despite
@phillipberndt
phillipberndt / Fake xinerama
Last active Jan 19, 2021
Fake Xinerama configuration to split the DELL Latitude E7440 two-external monitors into two virtual heads
View Fake xinerama
WHAT THIS IS
------------
The DELL LATITUDE E7440's docking station supports two external displays, and
the notebook's Haswell architecture supports having three displays active at
the same time. It works well, but the two external monitors are merged into one
big display:
$ xrandr
Screen 0: minimum 320 x 200, current 5280 x 1080, maximum 32767 x 32767
eDP1 connected primary 1920x1080+0+0 (normal left inverted right x axis y axis) 309mm x 174mm
@phillipberndt
phillipberndt / .htaccess
Created Nov 18, 2013
A push-enabled GIT configuration for Apache / cgi-bin / public-html. Place both files in your `public_html` folder, create a corresponding `.htpasswd` file & enjoy.
View .htaccess
AddHandler cgi-script .cgi
<Files "git.cgi">
Require valid-user
AuthType Basic
AuthName "GIT Access"
AuthUserFile /path/to/.htpasswd.git
</Files>