Skip to content

Instantly share code, notes, and snippets.

View qnoid's full-sized avatar
💭
I have been raised by women. My single mother, my grandma, my godmother.

Markos Zoulias Charatzas qnoid

💭
I have been raised by women. My single mother, my grandma, my godmother.
View GitHub Profile

Keybase proof

I hereby claim:

  • I am qnoid on github.
  • I am qnoid (https://keybase.io/qnoid) on keybase.
  • I have a public key ASDnMYvBt96fg6Vw9BVDJpkZxLZg0PMq_k43V8xJz6EFbQo

To claim this, I am signing this object:

{
"bookResponse": {
"bookId": "b7cb191fd0a62feb983be8817bc561a2",
"locale": "en_US",
"title": "Contacts Help",
"meta": {
"productVersion": "11.0",
"platformOSVersion": "10.13",
"icon": "https://help.apple.com/assets/59D1AABE680CE2A0420B6CBB/59D1AABF680CE2A0420B6CC2/en_US/681a028e052633e3539058b41dcdb3b9.png",
"build_date": "Mon Nov 13 04:36:17 GMT 2017",
var APP_VERSION = '1.0.21';
! function e(t, n, r) {
function i(a, l) {
if (!n[a]) {
if (!t[a]) {
var s = "function" == typeof require && require;
if (!l && s) return s(a, !0);
if (o) return o(a, !0);
var c = new Error("Cannot find module '" + a + "'");
throw c.code = "MODULE_NOT_FOUND", c
*{box-sizing:border-box;margin:0;padding:0}
html{-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}
address,caption,code,figcaption,pre,th{font-size:1em;font-weight:400;font-style:normal}
fieldset,iframe,img{border:0}
caption,th{text-align:left}
table{border-collapse:collapse;border-spacing:0}
article,aside,details,figcaption,figure,footer,header,hgroup,main,nav,section,summary{display:block}
audio,canvas,progress,video{display:inline-block;vertical-align:baseline}
button{background:0 0;border:0;box-sizing:content-box;color:inherit;cursor:pointer;font:inherit;line-height:inherit;overflow:visible;vertical-align:inherit}
button:disabled{cursor:default}
@qnoid
qnoid / Process.swift
Last active July 16, 2017 18:23
Train of thought on how to design the idea of running a series of processes, lazily created, stopping execution early on first error.
// 1
let process = Process()
process.launch()
process.waitUntilExit()
// 2.
let process = Process()
let queue = DispatchQueue()
queue.async {
guard let foo = foo else {
assertionFailure("This shouldn't happen")
return
}
@qnoid
qnoid / LocalAuthentication.swift
Last active May 25, 2016 14:18
How using an "Optional Pattern" alongside an "Enumeration Case Pattern" in Swift reduces the code it takes to match an optional AND an enum case at once while capturing its associated values.
// MARK: - guard without Optional Pattern
extension LocalAuthentication {
convenience init?(authenticationLevel: AuthenticationLevel?){
guard let authenticationLevel = authenticationLevel else {
return nil
}
switch authenticationLevel {
@qnoid
qnoid / Avatar.swift
Last active April 10, 2016 21:55
Just trying to push the limits of Swift to see what's possible. Trying to get an overall understanding of how code can be structured. Especially around object life cycles. Check the revisions for iterations over the design. Please don't write code like this, unless you know what you are doing.
struct Imager
{
unowned let session: Session
unowned let avatar: Avatar
func image(imageView: UIImageView) {
let download = self.session.download(self.avatar.image) { [weak imageView = imageView] (data, response, _) in
guard let _imageView = imageView else {
@qnoid
qnoid / ViewController.swift
Created January 22, 2016 12:31
In a capture list, there is no need to capture a reference to "self" if you need a reference to an instance self holds. https://twitter.com/qnoid/status/690507191057551360
class ViewController : UIViewController
{
var foo = "foo"
func hello()
{
let closure = { [foo = self.foo] in
print("Hello \(foo)!")
}
}
class FooViewController: UIViewController
{
}
func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {
let fooViewController = FooViewController()
let view = self.window!.snapshotViewAfterScreenUpdates(false)
let viewController = UIViewController()