Skip to content

Instantly share code, notes, and snippets.

View jdewind's full-sized avatar

Justin DeWind jdewind

  • LifeWorks
  • Grand Rapids
View GitHub Profile
@mixin scaffolding-with-border($borderSize) {
@for $i from 1 through 12 {
.span#{$i} {
width: 60px * $i + (20px * ($i - 1)) - $borderSize*2;
}
}
}
@jdewind
jdewind / devise_sadness.rb
Last active December 17, 2015 05:19
The curious task of supporting multiple devise authenticatables by ensuring they don't have a instance method fight.
module Devise
module Models
module AggregateAuthenticatable
extend ActiveSupport::Concern
STRATEGIES = {:basic => Devise::Models::DatabaseAuthenticatable, :ldap => Devise::Models::LdapAuthenticatable}
MODULES = [Devise::Models::DatabaseAuthenticatable, Devise::Models::LdapAuthenticatable]
module ClassMethods
def strategy_instance_methods
@weakify(self);
[[RACAble(self.device.LEDBrightness)
distinctUntilChanged]
subscribeNext:^(NSNumber *LEDBrightness) {
@strongify(self);
[self updateUI];
}];
private static void findInjector() {
EventListener[] eventListeners = context.getServletContext().getContextHandler().getEventListeners();
for (EventListener eventListener : eventListeners) {
if (eventListener instanceof ApplicationServletContextListener) {
injector = ((ApplicationServletContextListener) eventListener).backDoorToInjector();
break;
}
}
}
public static void startJetty() throws Exception {
configureServerProperties();
configureServer();
configureWebAppContext();
configureWebAppDeployer();
server.addLifeCycle(webAppDeployer);
@jdewind
jdewind / collatz.hs
Created December 5, 2012 03:44
Ruby vs Haskell: Collatz Sequence
-- Collatz Sequence (http://en.wikipedia.org/wiki/Collatz_conjecture)
chain :: (Integral a) => a -> [a]
chain 0 = error "Zero will recurse forever"
chain 1 = [1]
chain x
| even x = x:chain (x `div` 2)
| odd x = x:chain (x*3 + 1)
@jdewind
jdewind / NSDateFormatter+Extensions.m
Created December 4, 2012 16:12
ISO8601 Formatter enforcing Locale
@implementation NSDateFormatter(Extensions)
+ (NSDateFormatter *)apiFriendlyDateFormatter {
static NSDateFormatter *_utcFormatter;
if (!_utcFormatter) {
_utcFormatter = [[NSDateFormatter alloc] init];
NSLocale *enUSPOSIXLocal = [[[NSLocale alloc] initWithLocaleIdentifier:@"en_US_POSIX"] autorelease];
[_utcFormatter setLocale:enUSPOSIXLocal];
[_utcFormatter setTimeZone:[NSTimeZone timeZoneForSecondsFromGMT: 0]];
[_utcFormatter setDateFormat:@"yyyy-MM-dd'T'HH:mm:ss'Z'"];
}
@jdewind
jdewind / map-list-comprhension.hs
Created December 4, 2012 01:56
Alternative Map Implementations
map' :: (a -> b) -> [a] -> [b]
map' _ [] = []
map' f xs = [f a | a <- xs]
@jdewind
jdewind / triangle.hs
Created December 2, 2012 05:12
Hask List Comprehension: Adaptation of Triangle Example in Tutorial
module Main where
import System.Environment
type Triangle = (Int, Int, Int)
perimeter :: Triangle -> Int
perimeter (a, b, c) = a + b + c
rightTriangle :: Triangle -> Bool
rightTriangle (a, b, c) = a^2 + b^2 == c^2
@jdewind
jdewind / triangle.hs
Created December 2, 2012 02:27
Hask List Comprehension: Adaptation of Triangle Example in Tutorial
module Main where
import System.Environment
type Triangle = (Int, Int, Int)
rightTriangles :: [Triangle] -> [Triangle]
rightTriangles xs = [ x | x@(a, b, c) <- xs, let rightTriangle = a^2 + b^2 == c^2, rightTriangle]
withMultipleOf :: [Triangle] -> Int -> [Triangle]
withMultipleOf xs m = [x | x@(a, b, c) <- xs, let perimeter = a + b + c, mod perimeter m == 0]