Skip to content

Instantly share code, notes, and snippets.

@pragmaticlogic
pragmaticlogic / SwiftTowerInteractive
Last active August 29, 2015 14:07
Swift Tower interactive
import Foundation
enum ClockDirection {
case Clockwise
case CounterClockwise
}
enum DirectionOfDiskMoved {
case ToTower
case FromTower
@pragmaticlogic
pragmaticlogic / TowerStack
Last active August 29, 2015 14:07
TowerStack
public class TowerStack<T:_Comparable> : Stack<T> {
override func push(key:T) {
let current:Node<T>! = top
if (top == nil) {
super.push(key)
}
else if (top.key! > key) {
super.push(key)
} else {
NSException(name: "Tower Collapse", reason: "A larger disk is placed on top of a smaller disk", userInfo: nil).raise()
@pragmaticlogic
pragmaticlogic / SwiftTowerTests
Last active August 29, 2015 14:07
Test Swift Tower Recursive implementation
import UIKit
import XCTest
import SwiftTower
class SwiftTowerTests: XCTestCase {
override func setUp() {
super.setUp()
// No extra setup code here.
}
@pragmaticlogic
pragmaticlogic / SwiftTowerTestStack
Created October 20, 2014 03:28
Test Swift Stack class
import UIKit
import XCTest
class SwiftTowerTestStack: XCTestCase {
let stack:Stack<Int> = Stack<Int>()
override func setUp() {
super.setUp() // No extra setup code here.
}
@pragmaticlogic
pragmaticlogic / SwiftTowerRecursiveRevised
Last active August 29, 2015 14:07
Swift Tower recursive revised
enum Tower : String {
case Tower1 = "Tower 1"
case Tower2 = "Tower 2"
case Tower3 = "Tower 3"
}
func tower(numberOfDisks: Int, source x: Tower, dest y: Tower, temp z: Tower, finalDest f:Tower, destStack:Stack<Int>) {
if (numberOfDisks > 0) {
tower(numberOfDisks - 1, source:x, dest:z, temp:y, finalDest:f, destStack)
println("Move disk \(numberOfDisks) from \(x.toRaw()) to \(y.toRaw())")
@pragmaticlogic
pragmaticlogic / stack.swift
Created October 19, 2014 18:48
Swift simple generic stack
class Node<T> {
var key: T? = nil
var next: Node? = nil
}
public class Stack<T> {
private var N:Int = 0
private var top: Node<T>! = nil
public func size() -> Int {
@pragmaticlogic
pragmaticlogic / SwiftTowerRecursive
Created October 19, 2014 15:56
Tower of Hanoi in Swift - recursive version
//By Kevin Le
//10-19-2014
enum Tower : String {
case Tower1 = "Tower 1"
case Tower2 = "Tower 2"
case Tower3 = "Tower 3"
}
func tower(#numberOfDisks: Int, source x: Tower, dest y: Tower, temp z: Tower) {
@pragmaticlogic
pragmaticlogic / connect5
Created September 28, 2014 06:19
/etc/init.d/connect5
#!/bin/bash
#
# An init.d script for running a Node.js process as a service using iptables, forever and bouncy
# Reference:
# 1- https://github.com/nodejitsu/forever
# 2- https://www.exratione.com/2013/02/nodejs-and-forever-as-a-service-simple-upstart-and-init-scripts-for-ubuntu/
source /home/kevin/.nvm/nvm.sh
NAME="Connect5"
##NVM_VERSION="v0.10.31"
@pragmaticlogic
pragmaticlogic / gist:9182946
Created February 24, 2014 06:35
socket.io client connecting to server
if (!window.location.origin) {
window.location.origin = window.location.protocol + '//' + window.location.host;
}
var socketIo = io.connect(window.location.origin, {
port: window.location.port === '' ? '80' : window.location.port,
transports: ['websocket']
});
angular.module('plunker', ['ui.bootstrap', 'angular.directives-round-progress']);
var ModalDemoCtrl = function ($scope, $modal) {
$scope.launchModalTimer = function () {
var modalInstance = $modal.open({
templateUrl: 'modalContent.html',
controller: ModalInstanceCtrl
});
};
};