We launched a project at the intersection of machine learning and human rights. Atlas Lab is a platform that helps legal professionals better understand how machine learning and algorithmic decision making are intersecting with human rights. Here’s why you should care.

Technology is not just an industry; it is a…

Binary search, also known as half-interval search or logarithmic search, is a search algorithm that finds the position of a target value within a sorted array.


I used to live in a building that had a communal kitchen for over 100 students. As you might imagine, there were almost always…

Storing API Keys and Other Constants in Swift 3


After your app is on the App Store, you’ll have at least two states of your app to maintain: the app as it is on the App Store, and the app that you actively add features to in development.

If you have a server running in the backend, you’ll definitely…

Accessing a digital archive of web pages

Photo credit: Adra

For those who don’t know already, the Wayback Machine is a comprehensive digital archive of web pages on the Internet — having already collected more than 286 billion web pages since 2001.

Wayback uses the CDX Server API to lookup captures — it allows for complex querying, filtering and analysis…

Data Binding with RxSwift

This post is a tutorial that will teach you how to bind data to views using RxSwift, which is a part of the Functional Reactive Programming (FRP) design pattern — where views react to changes to data. FRP is not MVC. These design patterns are distinct from each other. …

A Trie, (also known as a prefix tree) is a special type of tree used to store associative data structures

A trie (pronounced try) gets its name from retrieval — its structure makes it a stellar matching algorithm.


Write your own shuffle method to randomly shuffle characters in a string. 

As a software developer, I try to create products that solve meaningful problems. I believe that to solve any problem, you must first understand it. Then, identify and solve its root cause, not its symptoms.

A common mistake that I’ve made is having the assumption that my experience of the…

In my last post, I went over sibling and child selectors. In this resource, I’ll be going over styling links in CSS.

An Important Note

It is very important that you implement these styles in order. CSS implements it’s styles in the order that they’re written (with some exceptions). Your links won’t look…

In my last post, I went over selecting by type, id, class, and descendants. In this next reference, I’ll provide examples for sibling and child selectors.

Adjacent Sibling Selector

A + B

Selects all B elements that directly follow A as a sibling. An element is a sibling to another when they are…

In CSS, selectors are used to select the elements that you want to style.

In this reference, I’m going to list some basic selectors and provide examples.

Type Selector


Selects all elements of type A.

For example, to select all <div> elements:

div { }

And to select all <p> elements:

Aurum Linh

Creatrix of Atlas Lab • How machines make decisions is a human rights issue

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