Skip to content

Instantly share code, notes, and snippets.

View mmower's full-sized avatar
💭
Writing code

Matt Mower mmower

💭
Writing code
View GitHub Profile
View Beginner Ruby Elevator Program
# ruby beginner elevator program
# We might break this stuff up into more classes as the need to separate state and
# behaviour of different entities emerges, for now we keep it simple and imagine
# the state to be that of the building as a whole.
#
# new code added by calvin... work in progress, still figuring how to make it all work
class Building
@mmower
mmower / pinboard_roam_converter.rb
Last active March 30, 2020 18:47
Ruby script that converts a JSON export of Pinboard.in bookmarks into a properly tagged Markdown file to import into Roam
View pinboard_roam_converter.rb
#!/usr/bin/env ruby -w
# frozen_string_literal: true
#
# usage
# chmod +x pinboard_converter.rb
# ./pinboard_converter.rb -t [pinboard_export_file] > tag_map.yml
# edit tag_map.yml
# ./pinboard_converter.rb [pinboard_export_file] tag_map.yml > [roam_import_file]
# import [roam_import_file] into Roam
View tweetcons.rb
#!/usr/bin/env ruby -w
require 'csv'
require 'json'
require 'ostruct'
require 'open-uri'
require 'optparse'
def setup_options
options = OpenStruct.new
@mmower
mmower / gist:1443904
Created December 7, 2011 18:11
Implementation of SecRandomCopyBytes for OS X
View gist:1443904
#ifdef TARGET_OS_MAC
typedef const struct __SecRandom * SecRandomRef;
const SecRandomRef kSecRandomDefault = NULL;
int SecRandomCopyBytes( SecRandomRef rnd, size_t count, uint8_t *bytes );
int SecRandomCopyBytes( SecRandomRef rnd, size_t count, uint8_t *bytes ) {
int fd;
@mmower
mmower / fibonacci.cpp
Created October 30, 2011 13:43
Revised LLVM Fibonacci example
View fibonacci.cpp
//===--- examples/Fibonacci/fibonacci.cpp - An example use of the JIT -----===//
//
// The LLVM Compiler Infrastructure
//
// This file is distributed under the University of Illinois Open Source
// License. See LICENSE.TXT for details.
//
//===----------------------------------------------------------------------===//
//
// This small program provides an example of how to build quickly a small module
View gist:1080382
id result = [window callWebScriptMethod:@"testInject" withArguments:[NSArray arrayWithObject:post]];
if( result == WebUndefined ) { <== line 66
NSLog( @"No result" );
}
NFNetworkBridge.m:66: error: expected expression before 'WebUndefined'
View gist:1076906
- (IBAction)debugBindingsAction:(id)sender {
NSLog( @" network: %p", _network );
NSLog( @" members: %p", [_network members] );
id object = [[_networkController selectedObjects] objectAtIndex:0];
NSLog( @"selected object: %p", object );
id members = [object valueForKey:@"members"];
NSLog( @" real: %p", members );
}
View gist:1066053
// .h
NSView *_memberView;
@property (nonatomic,retain) IBOutlet NSView *memberView;
// .m
- (void)windowDidLoad {
...
NSAssert( [self drawer], @"Drawer should not be nil!" );
NSAssert( [self memberView], @"Member View should not be nil when we are setting it!" );
[[self drawer] setContentView:[self memberView]];
View gist:1056097
+ (id <ASICacheDelegate>)defaultCache
{
@synchronized(self) {
return [[defaultCache retain] autorelease];
}
}
View gist:1056075
+ (NSString *)defaultUserAgentString
{
@synchronized (self) {
if (!defaultUserAgent) {
NSBundle *bundle = [NSBundle bundleForClass:[self class]];
// Attempt to find a name for this application
NSString *appName = [bundle objectForInfoDictionaryKey:@"CFBundleDisplayName"];