Thank you to all the people who have helped me build on this idea since I stumbled upon it a couple years ago.

Thank you.

Just like most people, I have a hidden side.

It’s the side of me that sits quietly in the morning, slouched next to a table as I write in a coffee-stained journal, trying to understand who the fuck I am.

And I’d sit there with the wind brushing softly through the window and across my cheek, waiting to finally understand what it meant to “know who you are.” …

Facebook’s current documentation is out of date…

The Problem: If you follow the steps according to the documentation exactly, your application may work in your simulator, but it may not work on your real device (I’m using an iPhone 11, so I don’t know for sure about other models).

The Solution: Check step 6 if all you want is the solution.


  • XCode 11.2.1
  • iOS 13.3.1
  • Cocoapods (FBSDKLoginKit)
  • Swift 5

1. Create a new Single View Application

Basic stuff first.

Don’t be afraid of babel like I was…

- Node.js installed
- NPM installed (this comes with node.js)
- Basic Bash syntax

So you want to publish your own NPM module, and you want to write that code in ES6 syntax? Here are the challenges we will encounter in this article:

  1. We will need to build our project (Difficulty: Easy)
  2. We need to have a way to compile our code from ES6 to ES2015 so that it is compatible with anyone’s code. (Difficulty: Moderate)
  3. We will need to have a way to test our code locally before pushing it to NPM. (Difficulty: Easy)
  4. We need to check…

How to run your classes’ code when you’re ready for it

Prerequisites to understand:

  • Swift 5 syntax

You may have seen someone else’s Swift code include the keyword lazy, but what does that mean? The lazy keyword is used to solve problems with processing speed.

Let’s say we have a struct:

struct Person {  var age: Int = 16}

Now, this is a pretty simple struct. And if we want to access the age property of a Person instance, it will be lightning fast. I mean…all we’re doing is returning a value.

So, let’s do that:

let person: Person = Person()

No problems here…

Now, what if, somehow, we…

New and improved completion handlers

Prerequisites to understand:

  • Basic Swift 5 syntax.
  • Closures.
  • Asynchronous data handling.

To fully grasp what the @escaping keyword does, we must first understand what a completion handler is.

Let’s consider the following function:

func fetchData(url: String){  print("Fetching data...")
print("Data has been fetched!")

This is a pretty basic function that does nothing but print to the console. No asynchronous requests have been made so far.

The first thing you need to understand about a function is that it has a function scope. All this means is that, when the thread has finished executing this function, the function will be discarded.

3 reasons why JavaScript will be the most popular programming language in 2030

For those of you who don’t understand the play on words in the title, there is a keyword in JavaScript called “this” which has been the center of confusion since the birth of the language.

That being said, it is surprising that one of the most misunderstood programming languages is starting to dominate the industry.

JavaScript was once called a “toy” by elitist programmers who saw the age of the self-taught developer learning how to create animations in web browsers. These animations were only possible because of JavaScript.

But as trendy cartoon animations grew in popularity, elitist programmers dug their…

Updated for changes made in 2019

When I first started programming, one of the first tools I wanted to create was an app that could run blocks of code every day (or some other time interval).

But when you’re just starting out, like I was, I didn’t know what to Google to figure out how to do that. If you don’t know much about me, I was originally a psychology student and originally taught myself how to code in MATLAB. …

Alec’s Instagram

There is a clear rise of consciousness in 2019, and everyone seems to want to know, “what exactly does it mean to be self-aware?”

Self-awareness at it’s core is going to mean something different to everyone, but everyone who “gets it” knows that it can be a simple but powerful tool for navigating life.

The problem is that “self-awareness” has become a buzzword with a lot of bad advice surrounding it. I’ve had friends tell me that a YouTuber advised them to walk around town and hit on girls way out of their league. And while this might give you…


You’re basically about to get your developer pregnant…

Back in college I encountered this 1 conversation, like, a bajillion times. It went a little something like this.

“Hey Suzy”

“Hey Jimmy”

(I’m Jimmy)

“Hey do you know anything about how [insert topic] works?”

“Why? You stuck on some homework?”


“What class is it for?”

“It’s not for a class.”

“…what? Then why are you-”

Aaaaaaaaaand stop the scene.

You probably see where I’m going with this. Wanting to learn for the sake of learning is somehow a foreign concept to college students. …

“Really?” Justin laughed, “I’ll just call you the 11 minute man then”

Alec’s Instagram

I copy-pasted the cryptographic-looking symbols into a word document, hit print and waited patiently in my school’s library collecting the sheets as they came out the other end. When it was done I logged out of my computer and walked across the street to the gym where I worked for minimum wage as a front desk attendant.

It was toward the end of the summer, and students weren’t back to school yet, and I had stayed on a scholarship to do research in my lab. …

Alec Mather

Developer 💻 || Writer 📝

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store