Skip to content

Instantly share code, notes, and snippets.

View xNekOIx's full-sized avatar
🇺🇦

Konstantin Bychkov xNekOIx

🇺🇦
View GitHub Profile
[{"_id":"5bd875b6975af4cd756467e3","index":0,"guid":"6a7ff4ec-d546-4d94-af09-8e02fc88e92b","isActive":false,"balance":"$3,165.37","picture":"http://placehold.it/32x32","age":34,"eyeColor":"green","name":{"first":"Camille","last":"Guthrie"},"company":"OPTICON","email":"camille.guthrie@opticon.co.uk","phone":"+1 (943) 512-3372","address":"695 Boardwalk , Toftrees, Florida, 5823","about":"Fugiat sunt cillum exercitation duis magna ad cupidatat veniam. Do excepteur cillum commodo sit nostrud quis. Deserunt sint qui cupidatat mollit voluptate reprehenderit eiusmod labore. Dolor nisi cillum enim consectetur labore. Quis qui voluptate officia est dolor enim eu laborum laboris.","registered":"Sunday, March 18, 2018 2:13 PM","latitude":"-9.76884","longitude":"-105.757728","tags":["consectetur","occaecat","exercitation","aliquip","mollit"],"range":[0,1,2,3,4,5,6,7,8,9],"friends":[{"id":0,"name":"Mejia Donaldson"},{"id":1,"name":"Mercedes Jefferson"},{"id":2,"name":"Wiley Talley"}],"greeting":"Hello, Camille! You have 6
@xNekOIx
xNekOIx / SCFindSubviewForCondition.m
Last active November 24, 2017 13:19
Recursive view search for condition
typedef BOOL(^SCConditionBlock)(UIView *subview);
UIView * SCFindSubviewForCondition(UIView *view, SCConditionBlock conditionBlock);
UIView * SCFindSubviewForCondition(UIView *view, SCConditionBlock conditionBlock) {
NSCParameterAssert(view != nil);
if (conditionBlock(view)) {
return view;
}
let subviews = [view subviews];
@xNekOIx
xNekOIx / gist:6fe3a13fea773cd48920ee4bdd1ac882
Created February 24, 2017 15:05
download images from css file urls
awk '/url\(https:\/\/url-path-to-resource-if-needed\/[^)]+.svg\)/{ print $0 }' ../some-style.css | sed 's/.*(\(.*\)).*/\1/p' | sort -u | xargs wget
import Foundation
import XCPlayground
XCPlaygroundPage.currentPage.needsIndefiniteExecution = true
enum Effects<A> {
typealias Action = A
case Nothing
case EffectTask(Task<Any, Action>)
@xNekOIx
xNekOIx / button-images.rb
Last active August 30, 2015 11:32
Button image via ImageMagick
#!/usr/bin/env ruby
image_name = "action-background"
width = 29
height = 28
color = '#EF3F39'
stroke_width = 1
stroke = '#EF3F39'
corner_radius = 14
# shadow?
@xNekOIx
xNekOIx / DotsActivity.m
Created July 31, 2015 15:39
Dots activity indicator
RACSignal* activitySignal = [[RACObserve(self, viewModel.inProgress) map:^id(NSNumber* value) {
if (value.boolValue == NO) return [RACSignal return:@""];
return [[RACSignal interval:0.5 onScheduler:[RACScheduler mainThreadScheduler]]
scanWithStart:@"."
reduce:^id(NSString* previous, id current) {
if (previous.length > 2) return @".";
return [previous stringByAppendingString:@"."];
}];
}] switchToLatest];
@xNekOIx
xNekOIx / PewPew.swift
Last active August 29, 2015 14:22
Declare class inside function.
protocol SomeProtocol: class {
func pew() -> String
}
class SomeClass {
func someFunc() -> SomeProtocol {
let someClosure = { () -> SomeProtocol in
class PewPew: SomeProtocol {
func pew() -> String {
@xNekOIx
xNekOIx / RenameImages
Created May 12, 2015 10:16
Batch rename images
sudo ls | sed 's/\(.*\)\(\..*\)/mv "\1\2" "\1@2x\2"/p' | sh
@xNekOIx
xNekOIx / Regex.swift
Last active August 29, 2015 14:12 — forked from mattt/regex.swift
Swift String literal regular expression + switch pattern match operator
//
// Mattt's example from NSHipster updated for 8.1 API. (NSHipster article http://nshipster.com/swift-literal-convertible/ )
// Additions for pattern matching for use in switch statements taken from http://lesstroud.com/swift-using-regex-in-switch-statements/
//
// -------
// xNekOIx
//
import Foundation
@xNekOIx
xNekOIx / UIDevice+NKOSVersionCheck.h
Last active August 29, 2015 14:02
iOS version check
#import <Foundation/Foundation.h>
@interface UIDevice(NKOSVersionCheck)
+ (BOOL)nko_isRunningOnIOS7OrLater;
@end