Skip to content

Instantly share code, notes, and snippets.

@preble
preble / glerrcheck.h
Created October 24, 2012 14:04
glGetError() test macro
// A macro I wrote a few years back to assist in checking OpenGL error codes.
// Add to a .h or at the top of your implementation file:
#define GLERR do {\
GLuint glerr;\
while((glerr = glGetError()) != GL_NO_ERROR)\
fprintf(stderr, "%s:%d glGetError() = 0x%04x", __FILE__, __LINE__, glerr);\
} while (0)
// Sprinkle in "GLERR;" after failure-prone OpenGL calls.
@preble
preble / RandomThreadSafetyTest.m
Created September 3, 2012 15:16
Test thread safety of random number generators.
// Testing thread safety of rand() and random(); for more see:
// http://adampreble.net/blog/2012/09/mtrandom-an-objective-c-random-number-generator/
// Created by Adam Preble on 9/3/12
// Copyright (c) 2012 Adam Preble. All rights reserved.
//
#import <Foundation/Foundation.h>
#if 1
#define test_srandom srandom
#import "NSString+ConcurrentEnumeration.h"
@implementation NSString (ConcurrentLineEnumeration)
- (void)enumerateConcurrentlyWithOptions:(NSStringEnumerationOptions)options
usingBlock:(void (^)(NSString *substring))block
{
dispatch_group_t group = dispatch_group_create();
[self enumerateSubstringsInRange:NSMakeRange(0, [self length])
Index: Framework/BGHUDTableViewHeaderCell.m
===================================================================
--- Framework/BGHUDTableViewHeaderCell.m
+++ Framework/BGHUDTableViewHeaderCell.m
@@ -73,7 +73,7 @@
}
- (void)_drawThemeContents:(NSRect)frame highlighted:(BOOL)flag inView:(id)view {
-
+
@preble
preble / BNRBlockView.h
Created June 29, 2010 00:02
BNRBlockView: Add custom-drawn views to the Cocoa view hierarchy without subclassing.
@class BNRBlockView;
typedef void(^BNRBlockViewDrawer)(BNRBlockView *view, NSRect dirtyRect);
@interface BNRBlockView : NSView {
BNRBlockViewDrawer drawBlock;
BOOL opaque;
}
+ (BNRBlockView *)viewWithFrame:(NSRect)frame
#include "WProgram.h"
void UpdateDMD();
void Bounce();
void SetAllDots(byte value);
void SetDot(byte col, byte row, byte value);
void FrameToSerial();
#define pinDisplayEnable 3 // DMD pin 1
#define pinRowData 4 // One pin 3
#define pinRowClock 5 // DMD pin 5
#define pinColLatch 6 // DMD pin 7