Skip to content

Instantly share code, notes, and snippets.

@jpsim
jpsim / jazzy_linux.md
Last active July 3, 2020 20:26
Jazzy Linux

Running jazzy from a fresh Ubuntu machine:

Create a brand new Ubuntu machine

$ doctl compute droplet create jazzy --size 16gb \
    --image ubuntu-16-10-x64 --region sfo1
$ doctl compute ssh jazzy

Install Swift

@jpsim
jpsim / 31302382.md
Last active May 30, 2019 21:29
File attachments for rdar://31302382
@jpsim
jpsim / LineEndsFind.mm
Created April 22, 2018 13:20 — forked from iosdevzone/LineEndsFind.mm
A function to find the offsets of newlines ('\n') in UTF-16 encoded string. Try as I might, I cannot get a Swift version within an order of magnitude of the C++ version. Both routines must return arrays of the same size and with equal elements.
#import <Foundation/Foundation.h>
#import <QuartzCore/QuartzCore.h>
#import <iostream>
#import <vector> // Needed for gist to compile.
#pragma mark - Pure Implementation Functions
const static unichar kUTF16Newline = (unichar)'\n'; // old naming habits die hard!
/**
* Calculates an array of line end "positions" for a given string.
* The equivalent Swift function was `(String) -> [Int]` or `(NSString) -> [Int]`
*
@jpsim
jpsim / swift_dev_linux.md
Created December 14, 2017 18:18
Build & run a subset of Swift tests on Linux

Build & run a subset of Swift tests on Linux

# Spin up a beefy Digital Ocean droplet
doctl compute droplet create swift-dev --size m-224gb --image ubuntu-16-10-x64 --region sfo2 --ssh-keys XXXXXXX
doctl compute ssh swift-dev
# Install dependencies
apt-get update
apt-get install git cmake ninja-build clang python uuid-dev libicu-dev icu-devtools libbsd-dev libedit-dev libxml2-dev libsqlite3-dev swig libpython-dev libncurses5-dev pkg-config libblocksruntime-dev libcurl4-openssl-dev autoconf libtool systemtap-sdt-dev tzdata
# Clone &amp; build Swift
@jpsim
jpsim / TranslatedString.swift
Created June 4, 2016 20:59
TranslatedString Realm Model
// Example approach for modeling localized strings in Realm
import Foundation
import RealmSwift
enum Locale: String {
case English = "en"
case French = "fr"
}
@jpsim
jpsim / MyTableViewController.m
Created August 19, 2014 22:57
Grouped UITableView using Realm
////////////////////////////////////////////////////////////////////////////
//
// Copyright 2014 Realm Inc.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
@jpsim
jpsim / README.md
Last active January 18, 2018 11:23
Generate Swift docs on Linux with Jazzy and SourceKitten
@jpsim
jpsim / Person.swift
Created July 29, 2015 18:59
Representing an array of strings in Realm
/**
Although this example demonstrates how to store flat arrays of strings
on a Realm model, you can extend this pattern to store anything from
arrays of integers to native Swift enum's. Basically anything that you can
map to a representable type in Realm.
*/
class RealmString : Object {
dynamic var stringValue = ""
}

Keybase proof

I hereby claim:

  • I am jpsim on github.
  • I am jpsim (https://keybase.io/jpsim) on keybase.
  • I have a public key ASBwmCI1FZ8tNZxDyhrZwx06OrlGAWufb1hQDmLWXD7IWgo

To claim this, I am signing this object:

@jpsim
jpsim / realm_write_syntax.swift
Created November 14, 2015 00:16
Realm.write() valid syntax
import RealmSwift
// Swift's syntax allows for a variety of ways to invoke closures.
// Here are some of them, specifically ways to making write transactions in Realm Swift.
// See https://realm.io/docs/swift/latest/#writes for Realm's docs on write transactions.
do {
let realm = try Realm()
// 1