Skip to content

Instantly share code, notes, and snippets.

Avatar

John Bartholomew johnbartholomew

View GitHub Profile
@johnbartholomew
johnbartholomew / fontconfig-example.c
Created Feb 24, 2014
Using FontConfig to pick a default font.
View fontconfig-example.c
/* WARNING -- THE CODE IN THIS FILE DOESN'T DO ANY ERROR HANDLING! */
static const char *TXDI_DEFAULT_FAMILY_NAMES[] = {
"monospace",
"sans",
"serif"
};
TXD_API TxdFont *txd_opendefaultfont(int family, int style, float height, float slant, float outline) {
FcPattern *pat, *match;
@johnbartholomew
johnbartholomew / gist:9497219
Created Mar 11, 2014
Inserting a breakable call
View gist:9497219
/* Another option which is more reasonable if you're willing to recompile is to insert a call to a trap function
* could be __builtin_trap() for GCC, or DebugBreak/__debugbreak for MSVC, or your own function like this: /
static void PoorMansBreakpoint() {
printf(""); /* stick a breakpoint on this line */
}
int fugbug(int a, int b) {
return (a + b < 10)
? 8
@johnbartholomew
johnbartholomew / check.c
Created Mar 11, 2014
GNU C supports using compound statements as expressions.
View check.c
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
int main(int argc, char **argv) {
if (argc < 2) {
fprintf(stderr, "usage: check x|y\n");
return 1;
}
@johnbartholomew
johnbartholomew / backtrace.txt
Created Jun 28, 2014
Pioneer crash information for serialisation crash
View backtrace.txt
Charon:
height fractal: HillsCraters2
colour fractal: Rock
seed: 2191294907
*** Error in `/home/dv/src/pioneer/src/pioneer': double free or corruption (!prev): 0x0000000002ac5d20 ***
Program received signal SIGABRT, Aborted.
0x00007ffff5bb3f79 in __GI_raise (sig=sig@entry=6) at ../nptl/sysdeps/unix/sysv/linux/raise.c:56
56 ../nptl/sysdeps/unix/sysv/linux/raise.c: No such file or directory.
(gdb) bt
@johnbartholomew
johnbartholomew / RomanNumerals.hs
Created Jan 15, 2012
A solution to John D. Cook's roman numerals puzzle
View RomanNumerals.hs
-- written for a puzzle presented by John D. Cook:
-- http://www.johndcook.com/blog/2012/01/14/roman-numeral-puzzle/
--
-- Copyright (C) 2012, John Bartholomew.
-- You may use this code for any purpose, WITHOUT WARRANTY.
module Main where
import Control.Monad
import Data.Char
@johnbartholomew
johnbartholomew / screencap.sh
Created Feb 19, 2012
ffmpeg screen recording
View screencap.sh
#!/bin/bash
# codec configuration from
# http://code.google.com/p/bencos/source/browse/trunk/out/presets/libx264-lossless_ultrafast.ffpreset?r=156
cat > libx264-lossless_ultrafast.ffpreset <<EOF
coder=0
flags=+loop
cmp=+chroma
partitions=-parti8x8-parti4x4-partp8x8-partp4x4-partb8x8
View StateCapturer.h
// simplest version
struct StateCapturer {
StateCapturer() {
glPushAttrib(...);
glPushMatrix(...);
glPushTheWholeDamnWorld();
}
~StateCapturer() {
@johnbartholomew
johnbartholomew / byte-order-test.c
Created Apr 4, 2012
compiler smarts: recognising shifts and ors as a load or byte-swap
View byte-order-test.c
#include <string.h>
#include <stdint.h>
/* compiled with:
* {gcc,clang} -std=c89 -pedantic -Wall -Wextra -O3 -S -c byte-order-test.c
*
* Built on and for an x86-64 system.
* The full assembly output from both compilers is embedded at the bottom.
*
* Summary:
@johnbartholomew
johnbartholomew / gist:3969948
Created Oct 28, 2012
Some git instructions
View gist:3969948

This assumes you have no changes loose in your working copy.

At any point you can run gitk to view the commit history. I use gitk all the time, to view and search through the commit history, find the SHA1 hash of a particular commit, and check the commit graph.

First, make sure master is up to date (it most likely already is, but no harm in checking)

git checkout master
git fetch upstream