Skip to content

Instantly share code, notes, and snippets.

Alejandro Ramirez j4n0

Block or report user

Report or block j4n0

Hide content and notifications from this user.

Learn more about blocking users

Contact Support about this user’s behavior.

Learn more about reporting abuse

Report abuse
View GitHub Profile
View ioslocaleidentifiers.csv
We can make this file beautiful and searchable if this error is corrected: No commas found in this CSV file in line 0.
mr Marathi
bs Bosnian
ee_TG Ewe (Togo)
ms Malay
kam_KE Kamba (Kenya)
mt Maltese
ha Hausa
es_HN Spanish (Honduras)
ml_IN Malayalam (India)
ro_MD Romanian (Moldova)
j4n0 / AutoLayout.swift
Created Apr 30, 2019
Buttons with equal width using Visual Format Language
View AutoLayout.swift
import UIKit
public extension UIView {
var autoLayout: AutoLayout {
return AutoLayout(self)
j4n0 / karabiner.json
Created Dec 10, 2018
My Karabiner rules containing "WASD arrow Keys toggled by Capslock". See
View karabiner.json
"global": {
"check_for_updates_on_startup": true,
"show_in_menu_bar": true,
"show_profile_name_in_menu_bar": false
"profiles": [
"complex_modifications": {
"parameters": {
j4n0 / idioms.swift
Last active Jun 29, 2018
initialising idioms
View idioms.swift
import UIKit
// this one doesn’t require a helper function
var label: UILabel = {
$0.backgroundColor = .blue
$0.text = "This is a playground"
$0.textColor = .white
$0.textAlignment = .center
return $0
View ObjC.h
#import <Foundation/Foundation.h>
@interface ObjC: NSObject
+ (BOOL)catchException:(void(^)(void))tryBlock error:(__autoreleasing NSError **)error;
j4n0 / ControllerLifecycle.swift
Created Apr 16, 2018
Unit testing a view controller
View ControllerLifecycle.swift
// From
import XCTest
import UIKit
class ControllerLifecycle<T: UIViewController>
private lazy var this = type(of: self).self
private var rootWindow: UIWindow?
var rootController: T? {
j4n0 / Downloader.swift
Created Apr 8, 2018
Weakly retaining an object in a closure without having to write [weak]
View Downloader.swift
// I saw this trick in “Do you often forget [weak self], here is a solution”
import UIKit
class ViewController: UIViewController {
// move this variable inside viewDidLoad to see it being released
let downloader = Downloader()
j4n0 / BouncyButton.swift
Created Mar 16, 2018
A delegate implemented with generics and a static method
View BouncyButton.swift
// From “Better Strategies Through Types”
import UIKit
protocol BouncyDelegate {
static func animateBounce(for view: UIView)
enum ShakeStrategy: BouncyDelegate
j4n0 / PackageApplication
Created May 31, 2017 — forked from anonymous/PackageApplication
PackageApplication script from Xcode 8.2.1
View PackageApplication
# PackageApplication
# Copyright (c) 2009-2012 Apple Inc. All rights reserved.
# Package an iPhone Application into an .ipa wrapper
use Pod::Usage;
j4n0 / Person.m
Created May 16, 2017
Right and wrong ways to call a block property
View Person.m
#import <Foundation/Foundation.h>
#undef X
typedef void (^salute_t)();
@interface Person : NSObject
@property (nonatomic,copy) NSString *name;
@property (nonatomic,copy) salute_t salute;
You can’t perform that action at this time.