Skip to content

Instantly share code, notes, and snippets.

#include <stdio.h>
int glfwInit();
void glfwOpenWindowHint(int, int);
int glfwOpenWindow(int, int, int, int, int, int, int, int, int);
const unsigned char * glGetString(unsigned int);
void glfwTerminate();
int main()
{
@sarnesjo
sarnesjo / Test.hs
Last active December 14, 2015 16:38
import Control.Monad (when)
import Data.Bits ((.|.))
import Foreign.C.String (withCString)
import Foreign.Marshal.Alloc (alloca)
import Foreign.Marshal.Array (withArray)
import Foreign.Ptr (nullPtr)
import Foreign.Storable (peek)
import Graphics.Rendering.OpenGL.Raw -- OpenGLRaw-1.3.0.0
import Graphics.UI.GLFW -- GLFW-b-0.1.0.5
@sarnesjo
sarnesjo / Vector3.hs
Created July 1, 2012 05:38
Haskell testing frameworks: hspec and test-framework
module Vector3 where
data Vector3 = Vector3 Double Double Double deriving (Eq, Show)
add (Vector3 x1 y1 z1) (Vector3 x2 y2 z2) = Vector3 (x1+x2) (y1+y2) (z1+z2)
@sarnesjo
sarnesjo / gist:955622
Created May 4, 2011 17:29
Useful macro for dumping a variable to stderr
#define PRINT_VAR(NAME, FORMAT) fprintf(stderr, "%20s: "FORMAT"\n", #NAME, NAME)
#define PRINT_PTR(NAME) PRINT_VAR(NAME, "%p")
@sarnesjo
sarnesjo / gist:950169
Created May 1, 2011 01:39
An attempt to map modifier key events to regular key up/key down events...
// FIXME: does not work as intended if both left and right modifier key are pressed simultaneously!!!
- (NSUInteger)modifierFlagMaskForKeyCode:(unsigned short)keyCode
{
switch(keyCode)
{
case 54: // right cmd
case 55: // left cmd
return NSCommandKeyMask;
@sarnesjo
sarnesjo / gist:949232
Created April 29, 2011 23:33
Branch-free triangle wave generator functions
#include <stdio.h>
#include <stdlib.h>
// assumes abs is branch-free
// see http://graphics.stanford.edu/~seander/bithacks.html#IntegerAbs
int triangle_wave_gen0(int i, int max_value) // min_value fixed to 0
{
i += max_value;
i %= max_value * 2;
@sarnesjo
sarnesjo / custom.css
Created April 4, 2011 09:06
Force Safari to use the default fixed-width font for plain-text emails in Gmail
div.ii, textarea.Ak
{
font-family: monospace !important;
font-size: 10pt !important;
}
@sarnesjo
sarnesjo / gist:527043
Created August 16, 2010 14:39
using CADisplayLink
- (void)startAnimating
{
if(self.displayLink)
return;
self.displayLink = [CADisplayLink displayLinkWithTarget:self selector:@selector(tick:)];
[self.displayLink addToRunLoop:[NSRunLoop currentRunLoop] forMode:NSDefaultRunLoopMode];
}
- (void)stopAnimating
@sarnesjo
sarnesjo / gist:357492
Created April 6, 2010 11:27
convenience macros for creating NSArray and NSDictionary instances
#define A(...) [NSArray arrayWithObjects:__VA_ARGS__, nil]
#define D(...) [NSDictionary dictionaryWithObjectsAndKeys:__VA_ARGS__, nil]
NSArray *a = A(@"foo", @"bar");
NSDictionary *d = D(@"1", @"foo", @"2", @"bar");
// get list of all fonts on iPhone
for(NSString *familyName in [UIFont familyNames])
{
NSLog(@"%@", familyName);
for(NSString *fontName in [UIFont fontNamesForFamilyName:familyName])
NSLog(@" %@", fontName);
}