Skip to content

Instantly share code, notes, and snippets.

View pcperini's full-sized avatar

Patrick Perini pcperini

View GitHub Profile
operator infix ⏰ {}
@infix func ⏰(time: NSTimeInterval, block: (() -> Void)) {
dispatch_after(dispatch_time(DISPATCH_TIME_NOW, Int64(time * Double(NSEC_PER_SEC))), dispatch_get_current_queue(), block)
}
5.0 ⏰ {
println("HI!")
}
@pcperini
pcperini / gist:34d432adecc4f2d7ef0f
Created June 18, 2014 16:46
WorldPin Map Events
- (void)mapView:(MKMapView *)mapView didUpdateUserLocation:(MKUserLocation *)userLocation
{
// Zoom to user location
MKMapCamera *camera = [mapView.camera copy];
camera.altitude = 1; // Zoom in
camera.centerCoordinate = userLocation.coordinate;
mapView.camera = camera;
}
@pcperini
pcperini / gist:7e5814b29bf80477d0b4
Created June 18, 2014 16:52
WorldPin Map Events
- (MKAnnotationView *)mapView:(MKMapView *)mapView viewForAnnotation:(id<MKAnnotation>)annotation
{
if ([annotation isKindOfClass: [MKUserLocation class]])
return nil;
MKPinAnnotationView *pinAnnotationView = (MKPinAnnotationView *)[mapView dequeueReusableAnnotationViewWithIdentifier: @"pinAnnotation"];
[pinAnnotationView setAnnotation: annotation];
if (!pinAnnotationView)
{
pinAnnotationView = [[MKPinAnnotationView alloc] initWithAnnotation: annotation
@pcperini
pcperini / gist:3a433523ce8e67c25444
Last active August 29, 2015 14:02
WorldPin Socket Events
- (void)viewDidLoad
{
[super viewDidLoad];
[SIOSocket socketWithHost: @"http://yourHost:3000" response: ^(SIOSocket *socket)
{
self.socket = socket;
}];
}
@pcperini
pcperini / gist:9e8535811117ee420883
Last active August 29, 2015 14:02
WorldPin Socket Events
- (void)viewDidLoad
{
[super viewDidLoad];
[SIOSocket socketWithHost: @"http://yourHost:3000" response: ^(SIOSocket *socket)
{
self.socket = socket;
__weak typeof(self) weakSelf = self;
self.socket.onConnect = ^()
@pcperini
pcperini / gist:5d54c823f835f7dd856b
Last active August 29, 2015 14:02
WorldPin Socket Events
[self.socket on: @"update" callback: ^(SIOParameterArray *args)
{
// pinData == @"pinID:lat,long"
// self.pins == @{@"pinID": <WPAnnotation @ (lat, long)>}
NSString *pinData = [args firstObject];
NSArray *dataPieces = [pinData componentsSeparatedByString: @":"];
NSString *pinID = [dataPieces firstObject];
{
"name": "WorldPinServer",
"version": "0.0.0",
"description": "Server to distributed phone locations to other phones",
"main": "app.js",
"author": "myself",
"dependencies": {
"socket.io":"1.0.4"
}
}
var io = require('socket.io')(3000);
io.on('connection', function (socket) {
});
io.on('connection', function (socket) {
socket.broadcast.emit('join', socket['id']);
console.log(socket['id'] + ' has connected!');
});