Skip to content

Instantly share code, notes, and snippets.

@farktronix
farktronix / gist:da8f3c0ce01a5311364d
Last active August 29, 2015 14:20
Dispatch to a serial queue without deadlocking
static const char *kMyQueueSentinel = "🐔";
- (instancetype)init {
...
_serialQueue = dispatch_queue_crete("com.my.serialqueue", DISPATCH_QUEUE_SERIAL);
dispatch_queue_set_specific(self.serialQueue, kMyQueueSentinel, (void *)1, NULL);
...
}
static inline void _performOnSerialQueue(dispatch_block_t myBlock) {
@farktronix
farktronix / gist:c1032caaeafeb50d823b
Created May 7, 2015 21:04
dispatch_source_type_data_or rocks
_setupQueue = dispatch_queue_create("com.fark.setup", DISPATCH_QUEUE_SERIAL);
_setupSource = dispatch_source_create(DISPATCH_SOURCE_TYPE_DATA_OR, 0, 0, _setupQueue);
dispatch_source_set_event_handler(_setupSource, ^{
[weakSelf _reload];
});
dispatch_resume(_setupSource);
...
- (void)_signalAccountReload {
@farktronix
farktronix / gist:92c3b1a1901eec6c6f2e
Created June 4, 2014 18:04
dispatch_group based state machine
//
// StateMachineExample
//
// Created by Jacob Farkas on 6/4/14.
//
#import <Foundation/Foundation.h>
#define DownloadTempPath "/tmp/tacosXXXXXX"
@farktronix
farktronix / keybase.md
Created April 11, 2014 20:57
Keybase Identity

Keybase proof

I hereby claim:

  • I am farktronix on github.
  • I am farktronix (https://keybase.io/farktronix) on keybase.
  • I have a public key whose fingerprint is 7C47 1696 354A 0D45 F97C 97E8 ACE2 F3A0 B9BD 49AC

To claim this, I am signing this object:

static void _MemoryPoolReleaseCallback (CFAllocatorRef allocator, const void *value) {
if (value != NULL) CFRelease((CFTypeRef)value);
}
static CFArrayCallBacks MyMemoryPoolCallbacks = {
0,
NULL,
&_MemoryPoolReleaseCallback,
&CFCopyDescription,
NULL
@farktronix
farktronix / gist:5241882
Created March 25, 2013 23:34
Replace an iTunes Library with one song. Use at your own risk!
#!/usr/bin/ruby
require 'fileutils'
include FileUtils::Verbose
$rickRollFile="/Volumes/Media/.RickRoll.mp3"
def rickRollDir(sourceDir, destDir)
for filename in Dir.entries(sourceDir)
next if filename=~/\.\.?$/
====================
(0) | Mr. Olson |
====================
| |
==================== ====================
(a) | Contributors | | Contributors |
==================== ====================
| |
==================== ====================
$ gcc-4.0 -arch x86_64 -o varg varg.c && ./varg
ERROR: execlp failed with errno 14: Bad address
Child process started with pid 51425
Parent process complete.