Skip to content

Instantly share code, notes, and snippets.

View armadsen's full-sized avatar

Andrew Madsen armadsen

View GitHub Profile
@armadsen
armadsen / SceneKitCheatSheet.swift
Created November 2, 2015 01:17
Cheat sheet for SceneKit learning app (Swift)
// Configure the Scene View
self.sceneView.backgroundColor = .darkGrayColor()
// Create the scene
let scene = SCNScene()
@armadsen
armadsen / openssl-build.sh
Last active April 17, 2022 22:14 — forked from Norod/openssl-build.sh
A shell script to build openssl for iOS and Mac. >>>>> It currently builds: Mac (i386, x86_64) >>>>> iOS (armv7, arm64) >>>>> iOS Simulator (i386, x86_64) >>>>> Updated to work with Xcode 7 and produce bitcode enabled binaries >>>>> Minimum deployment target can be easily configured
#!/bin/bash
# This script builds the iOS and Mac openSSL libraries with Bitcode enabled
# Download openssl http://www.openssl.org/source/ and place the tarball next to this script
# Credits:
# https://github.com/st3fan/ios-openssl
# https://github.com/x2on/OpenSSL-for-iPhone/blob/master/build-libssl.sh
# Peter Steinberger, PSPDFKit GmbH, @steipete.
# Doron Adler, GlideTalk, @Norod78
@armadsen
armadsen / OpenAndReceiveFromSerialPort.c
Created October 12, 2015 17:45
Simple demo of opening and reading data from a serial port in pure C in OS X.
#include <stdlib.h>
#include <stdio.h>
#include <fcntl.h>
#include <errno.h>
#include <termios.h>
#include <dispatch/dispatch.h>
int main(int argc, char *argv[]) {
int fd = open("/dev/cu.usbmodem1421", O_RDWR | O_NOCTTY | O_EXLOCK | O_NONBLOCK);
if (fd < 1) { return printf("Error opening port: %i\n", errno); }
@armadsen
armadsen / PublicKeyDecryptUsingCSSM.m
Last active October 12, 2015 00:55
Demonstrates the use of CSSM for decrypting using a public key, which is not supported by the Security Transforms API on Mac OS X.
NSData *ORSDecryptDataWithPublicKey(NSData *dataToDecrypt, SecKeyRef publicKey)
{
const CSSM_KEY *cssmPubKey = NULL;
SecKeyGetCSSMKey(publicKey, &cssmPubKey);
CSSM_CSP_HANDLE handle;
SecKeyGetCSPHandle(publicKey, &handle);
CSSM_DATA inputData = {
.Data = (uint8_t *)[dataToDecrypt bytes],
.Length = [dataToDecrypt length],
@armadsen
armadsen / AdvancedArduino.md
Last active August 29, 2015 14:20
Deckset Markdown file for my presentation, "Arduino and iOS" at CocoaHeads SLC, May 5, 2015.

build-lists: true autoscale: true

#Advanced Arduino ###(or Arduino and iOS)

####Andrew Madsen ####CocoaHeads SLC - May 5, 2015

@armadsen
armadsen / responds.m
Last active August 29, 2015 14:17
Tiny demo of -respondsToSelector:
/* Compile and run with:
$> clang responds.m -ObjC -std=c99 -framework Foundation
$> ./a.out
*/
#import <Foundation/Foundation.h>
@interface Foo : NSObject
- (int)bar;
@end
@armadsen
armadsen / EventCellDrawRect.m
Created March 16, 2015 14:09
-[EventCell drawRect] for CustomDesignedAgenda (DevMountain Lesson 25 - Custom Interfaces)
- (void)drawRect:(CGRect)rect
{
[super drawRect:rect];
UIColor *color = [UIColor colorWithWhite:1.0 alpha:0.2];
[color setFill];
[color setStroke];
// Draw stripe on right
CGRect sideLineRect = CGRectMake(CGRectGetMidX(self.marker.frame) - 1.5,
@armadsen
armadsen / Lesson17.m
Last active August 29, 2015 14:16
DevMountain Lesson 17 (Submodules, AVFoundation, CocoaPods) copy/paste blocks
git submodule add https://github.com/AFNetworking/AFNetworking.git External/AFNetworking
NSURLRequest *request = [NSURLRequest requestWithURL:[NSURL URLWithString:@"http://www.timeapi.org/utc/now"]];
AFHTTPRequestOperation *operation = [[AFHTTPRequestOperation alloc] initWithRequest:request];
operation.responseSerializer = [AFHTTPResponseSerializer serializer];
[operation setCompletionBlockWithSuccess:^(AFHTTPRequestOperation *operation, NSData *responseObject) {
NSString *response = [[NSString alloc] initWithData:responseObject encoding:NSUTF8StringEncoding];
NSLog(@"response: %@", response);
@armadsen
armadsen / FakePeople
Last active August 29, 2015 14:15
Fake People
+ (NSArray *)allTheFakePeople {
return @[
@{imageNameKey: @"1",
nameKey: @"Some Dude",
phoneNumberKey: @"888-888-8888",
jobKey: @"Garbage Collection"},
@{imageNameKey: @"2",
nameKey: @"Chris Sacca",
phoneNumberKey: @"920-558-1033",
@armadsen
armadsen / PersonController.m
Created February 23, 2015 02:10
PersonController for DevMountain Lesson 13
// For PersonController.h:
#import "Person.h"
@interface PersonController : NSObject
@property (nonatomic, strong, readonly) NSArray *personList;
+ (PersonController *)sharedInstance;