Skip to content

Instantly share code, notes, and snippets.

@mikezs
mikezs / UIDeviceHardware.h
Created December 17, 2012 13:09 — forked from Jaybles/UIDeviceHardware.h
Find the Apple model identifier and give a string representation of it
//
// UIDeviceHardware.h
//
// Used to determine EXACT version of device software is running on.
#import <Foundation/Foundation.h>
@interface UIDeviceHardware : NSObject
+ (NSString *) platform;
@mikezs
mikezs / UIImage+CustomColours.h
Created January 29, 2013 13:30
UIImage+CustomColours.h
@interface UIImage (CustomColours)
+ (UIImage *) imageWithLinearGradientOfSize:(CGSize)size start:(UIColor *)start end:(UIColor *)end;
+ (UIImage *) imageWithSolidColor:(UIColor *)color size:(CGSize)size;
@end
@mikezs
mikezs / AbusiveClass.m
Created April 16, 2015 10:42
Use of trigraphs in Objective-C to create weird syntax
@interface AbusiveClass : NSObject
@end
@implementation AbusiveClass
??=define U_FUKIN_WOT_M8 self == nil
%:define ILL_CUT_U_BRUV ??(self handleError:>;
- (BOOL)handleError??<return YES;%>
- (instancetype)init<%if (self = <:super init??))??<
U_FUKIN_WOT_M8 ??!??! ILL_CUT_U_BRUV
@mikezs
mikezs / BoyerMoore.swift
Created November 24, 2015 13:53
Proper Boyer-Moore string searching in Swift 2.0
/**
* Implemention from here: http://www-igm.univ-mlv.fr/~lecroq/string/node14.html#SECTION00140
*/
extension String {
private func preBmBc(forString x: String) -> [Character: Int] {
let m = x.characters.count
var bmBc = [Character: Int](/*count: alphabetSize, repeatedValue: m*/)
for i in 0...m - 2 {
cd /Library/Preferences
sudo rm com.sophos.sav.plist

cd /Library/Application\ Support/Sophos/cloud/Installer.app/Contents/MacOS/tools/
sudo ./InstallationDeployer —force_remove
@mikezs
mikezs / UIView+AutoLayout.swift
Last active October 8, 2019 22:22
UIView+AutoLayoutAnchors.swift
import UIKit
protocol LayoutAttributeConvertible {
var layoutAttribute: NSLayoutAttribute { get }
}
enum Edge: LayoutAttributeConvertible {
case left
case right
case top
@mikezs
mikezs / day01part1.dart
Last active December 23, 2018 14:10
Advent Of Code 2018
main() async {
int frequency = 0;
List<String> numberArray = input.split("\n");
for (int i = 0; i < numberArray.length; ++i) {
int number = int.parse(numberArray[i]);
frequency += number;
}
print("Frequency: $frequency");
}
@mikezs
mikezs / day1.dart
Last active December 12, 2018 20:14
AdventOfCode 2015
//part1
void main() {
int floor = 0;
for (int i = 0; i < input.length; ++i) {
if (input[i] == ")") --floor;
else if (input[i] == "(") ++floor;
}
print(floor);
}
@mikezs
mikezs / UIView.AnimationCurve+AnimationOptions.swift
Created February 18, 2019 16:40
UIView.AnimationCurve to UIView.AnimationOptions
extension UIView.AnimationCurve {
var animationOption: UIView.AnimationOptions {
switch self {
case .easeInOut:
return .curveEaseInOut
case .easeIn:
return .curveEaseIn
case .easeOut:
return .curveEaseOut
case .linear:
@mikezs
mikezs / Publisher+PromiseExtension.swift
Created October 22, 2020 09:46
Publisher+PromiseExtension.swift
extension Publisher {
func and<T: Publisher>(_ closure: @escaping (Output) -> T) -> AnyPublisher<(Output, T.Output), Failure> where T.Failure == Failure {
then { output in
Just(output)
.setFailureType(to: Failure.self)
.zip(closure(output))
.eraseToAnyPublisher()
}
}