Skip to content

Instantly share code, notes, and snippets.

View SwiftsNamesake's full-sized avatar

Jonatan SwiftsNamesake

View GitHub Profile
@andoco
andoco / UIBezierPath+Image.h
Created June 8, 2012 09:08
UIBezierPath category for creating a UIImage of the path
#import <UIKit/UIKit.h>
@interface UIBezierPath (Image)
/** Returns an image of the path drawn using a stroke */
-(UIImage*) strokeImageWithColor:(UIColor*)color;
@end
@adamgit
adamgit / .gitignore
Last active July 25, 2024 19:57
.gitignore file for Xcode4 / OS X Source projects
#########################
# .gitignore file for Xcode4 and Xcode5 Source projects
#
# Apple bugs, waiting for Apple to fix/respond:
#
# 15564624 - what does the xccheckout file in Xcode5 do? Where's the documentation?
#
# Version 2.6
# For latest version, see: http://stackoverflow.com/questions/49478/git-ignore-file-for-xcode-projects
#
# taken from http://www.piware.de/2011/01/creating-an-https-server-in-python/
# generate server.xml with the following command:
# openssl req -new -x509 -keyout server.pem -out server.pem -days 365 -nodes
# run as follows:
# python simple-https-server.py
# then in your browser, visit:
# https://localhost:4443
import BaseHTTPServer, SimpleHTTPServer
import ssl
@gesquive
gesquive / self-update-script.py
Last active May 28, 2024 23:23
Stick this in a python script to self update the script from an online source
def update(dl_url, force_update=False):
"""
Attempts to download the update url in order to find if an update is needed.
If an update is needed, the current script is backed up and the update is
saved in its place.
"""
import urllib
import re
from subprocess import call
def compare_versions(vA, vB):
@MichaelEstes
MichaelEstes / 2D Platformer in Python
Last active April 4, 2024 22:43
2D Platformer in Python
import pygame, random, sys
pygame.init()
global screen, size, background, state, mainState, jumpState
mainState = 0
jumpState = 1
slideState = 2
size = [800, 600]
black = 0, 0, 0
white = 255, 255, 255
screen = pygame.display.set_mode(size)
@detomon
detomon / CGAffineTransform.swift
Last active January 10, 2024 15:26
Convenient operator overloadings for CGPoint, CGSize and CGRect
import Foundation
/**
* CGAffineTransform
*
* var a = CGAffineTransformMakeRotation(45.0 * M_PI / 180.0)
* var b = CGPointMake(30.0, 43.3)
*/
/**
@austinzheng
austinzheng / array_structure.swift
Last active August 1, 2018 07:04
A horrendous example of custom pattern matching in Swift
// Playground - noun: a place where people can play
import Cocoa
enum Wildcard : NilLiteralConvertible {
case Single
case FromBeginning
case ToEnd
case Range(Int)
case Literal(Int)
@fatho
fatho / Threads.hs
Created September 15, 2014 13:56
Cooperative interleaved threading in haskell.
{-# LANGUAGE DeriveFunctor, TemplateHaskell, GeneralizedNewtypeDeriving, FlexibleContexts #-}
module Threads where
import Control.Applicative
import Control.Arrow
import Control.Monad
import Control.Monad.Except
import Control.Monad.State.Class
import Control.Monad.Trans
import Control.Monad.Trans.Free
@minorbug
minorbug / timeago.swift
Created November 7, 2014 15:28
"Time ago" function for Swift (based on MatthewYork's DateTools for Objective-C)
func timeAgoSinceDate(date:NSDate, numericDates:Bool) -> String {
let calendar = NSCalendar.currentCalendar()
let unitFlags = NSCalendarUnit.CalendarUnitMinute | NSCalendarUnit.CalendarUnitHour | NSCalendarUnit.CalendarUnitDay | NSCalendarUnit.CalendarUnitWeekOfYear | NSCalendarUnit.CalendarUnitMonth | NSCalendarUnit.CalendarUnitYear | NSCalendarUnit.CalendarUnitSecond
let now = NSDate()
let earliest = now.earlierDate(date)
let latest = (earliest == now) ? date : now
let components:NSDateComponents = calendar.components(unitFlags, fromDate: earliest, toDate: latest, options: nil)
if (components.year >= 2) {
return "\(components.year) years ago"
@cdparks
cdparks / Stream.hs
Created February 25, 2015 18:50
Lazy infinite streams in Haskell, Swift, and Python
module Main where
import Prelude hiding (
iterate, repeat, map, filter, zipWith, zip,
take, takeWhile, drop, dropWhile)
import qualified Prelude as P
import Text.Printf (printf)
import Data.List (intercalate)
infixr 5 :>