Skip to content

Instantly share code, notes, and snippets.

@jacks205
jacks205 / timeago.swift
Last active October 15, 2018 21:54 — forked from minorbug/timeago.swift
"Time ago" function for Swift (based on MatthewYork's DateTools for Objective-C) *Swift 2
func timeAgoSinceDate(date:NSDate, numericDates:Bool) -> String {
let calendar = NSCalendar.currentCalendar()
let now = NSDate()
let earliest = now.earlierDate(date)
let latest = (earliest == now) ? date : now
let components:NSDateComponents = calendar.components([NSCalendarUnit.Minute , NSCalendarUnit.Hour , NSCalendarUnit.Day , NSCalendarUnit.WeekOfYear , NSCalendarUnit.Month , NSCalendarUnit.Year , NSCalendarUnit.Second], fromDate: earliest, toDate: latest, options: NSCalendarOptions())
if (components.year >= 2) {
return "\(components.year) years ago"
} else if (components.year >= 1){
//
// InflatingCircleIndicatorView.swift
// Spots
//
// Created by Mark Jackson on 9/24/15.
// Copyright © 2015 Mark Jackson. All rights reserved.
//
import UIKit
//
// CirclePieView.swift
// CirclePieViewExample
//
// Created by Mark Jackson on 10/8/15.
// Copyright © 2015 Mark Jackson. All rights reserved.
//
import UIKit
//
// ViewController.swift
// CirclePieViewExample
//
// Created by Mark Jackson on 10/8/15.
// Copyright © 2015 Mark Jackson. All rights reserved.
//
import UIKit
package com.jacks205.mediadatasourceexample;
import android.app.Activity;
import android.media.MediaPlayer;
import android.os.Bundle;
import android.view.SurfaceHolder;
import android.view.SurfaceView;
import java.io.IOException;
public static String VIDEO_URL = "https://devimages.apple.com.edgekey.net/streaming/examples/bipbop_4x3/gear1/fileSequence0.ts";
private volatile byte[] videoBuffer;
private volatile VideoDownloadListener listener;
private volatile boolean isDownloading;
Runnable downloadVideoRunnable = new Runnable() {
@Override
public void run() {
try{
package com.jacks205.mediadatasourceexample;
import android.media.MediaDataSource;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.net.URL;
public class VideoDataSource extends MediaDataSource {
//: Playground - noun: a place where people can play
import UIKit
let view = UIView(frame: CGRectMake(0,0,286,54))
view.backgroundColor = UIColor.clearColor()
let label = UILabel(frame: CGRectMake(24,8,238,32))
label.textColor = UIColor.redColor()
label.text = "That email address is already taken! Try a different email address."
// Key sections of code for this implementation are placed below
@interface JSTableWithFixedHeaderViewController ()
@property (strong, nonatomic) UIView *fixedHeaderView;
@end
@implementation JSTableWithFixedHeaderViewController
@jacks205
jacks205 / gist:56c4b539f937a807b1682f3920ad6e13
Created October 13, 2016 20:37 — forked from krzysztofzablocki/gist:4396302
Set symbol breakpoint on objc_msgSend then setup this debug command to log all methods called in iOS Simulator. If you want to do device debugging change esp+4 register to r0, esp+8 to r1 Found long ago somewhere on stackoverflow.
expr -- (void)printf("[%s, %s]\n",(char *) object_getClassName(*(long*)($esp+4)), (char *) *(long *)($esp+8) )