Skip to content

Instantly share code, notes, and snippets.

@stevebrun
stevebrun / README.md
Last active August 29, 2015 13:56
Let There Be Shibes

ShibeEnding is an artistic venture into the meaning of what it means to have meaningful meaning and to ponder such meaningful meaning.

ShibeEnding is an experiment with jQuery to test its limits and unearth its purpose and to reveal its meaningful meaning.

Keybase proof

I hereby claim:

  • I am altece on github.
  • I am altece (https://keybase.io/altece) on keybase.
  • I have a public key whose fingerprint is 8BB9 7FF6 F003 F8D1 C91D 05CE 42A6 ECA9 5595 440E

To claim this, I am signing this object:

@stevebrun
stevebrun / Circle.m
Created May 7, 2014 20:04
Here is the code for getting points around a circle.
static CGPoint convertRadianToCGPoint( double angle, double length, CGPoint center ) {
double xCoord = length * cos( angle );
if( angle == M_PI ) {
xCoord = -length;
}
double yCoord = length * sin( angle );
if( angle == (3 * M_PI)/2 ){
yCoord = -length;
}
@stevebrun
stevebrun / KonradZuse.c
Created June 6, 2015 00:10
A German if-then-else-end expression in C
#include <stdbool.h>
#define wenn (
#define dann ) ? (
#define sonst ) : (
#define ende )
int main() {
int x = wenn true dann 10 sonst 11 ende;
}
@stevebrun
stevebrun / dymoPrintLCCN.applescript
Last active November 12, 2015 08:34
Command line utility to convert an ISBN to a Library of Congress Column Number
#!/usr/bin/osascript
on printLCCN(LCCN)
tell application "DYMO Label"
set paperOrientation to portrait
tell print object 1
set object text to LCCN
end tell
printLabel2 of it
end tell
@stevebrun
stevebrun / Graphing.fs
Last active December 19, 2015 23:46
An F# module that contains functions and data structures for dealing with a graph of vertices and edges connecting them.
module Graphing.Graph
[<StructuralEquality; StructuralComparison>]
type Point =
| Point of float * float
static member X (Point (x, _)) = x
static member Y (Point (_, y)) = y
/// <summary>
@stevebrun
stevebrun / detabify.rb
Created October 5, 2013 06:50
A quick script to take a file in from stdin and write it to stdout, replacing all tabs with four spaces.
#! /usr/bin/env ruby
# take standard in text and replace all the tab instanes with four spaces
# print the resulting test to standard out
line = ""
while (line = gets) != nil do
line.gsub! "\t", " "
puts line
end
@stevebrun
stevebrun / NiceConstraints.swift
Last active July 18, 2017 23:57
AutoLayout using Operators
/// - note: The equivalence operators don't work because `NSObject` implements `Equatable`.
import UIKit
// MARK: Constraint From Anchor
public func == <AnchorType>(constrained: NSLayoutAnchor<AnchorType>, reference: NSLayoutAnchor<AnchorType>) -> NSLayoutConstraint {
return constrained.constraint(equalTo: reference)
}
@stevebrun
stevebrun / Zip3Sequence.swift
Created April 15, 2018 06:19
An implementation of zip that combines the elements of three sequences.
import Foundation
struct Zip3Sequence<Sequence1, Sequence2, Sequence3>: Sequence
where Sequence1: Sequence, Sequence2: Sequence, Sequence3: Sequence {
typealias Element = Iterator.Element
typealias Iterator = Zip3Iterator<Sequence1.Iterator, Sequence2.Iterator, Sequence3.Iterator>
private var s1: Sequence1
private var s2: Sequence2
private var s3: Sequence3
@stevebrun
stevebrun / CycleIterator.swift
Created April 17, 2018 04:58
An iterator to endlessly iterate over the same sequence.
struct CycleIterator<Element>: IteratorProtocol, ExpressibleByArrayLiteral {
private var elements: [Element]
private var offset: Int = 0
init(_ elements: [Element]) {
self.elements = elements
}
init(arrayLiteral elements: Element...) {
self.init(elements)