
Big O Notation
Big O notation is a tool we use to estimate how long a program or an algorithm will run. On this blog we've covered a lot of algorithms but we only touched on the big O notation. If you have a degree...

Big O notation is a tool we use to estimate how long a program or an algorithm will run. On this blog we've covered a lot of algorithms but we only touched on the big O notation. If you have a degree...

JavaScript running iOS applications can have the same or close to native performance. Do you believe this or not? Let's find out. The first cross-platform framework that comes to mind is React...

Working in swift (and ObjC) you should be comfortable working with async code. Sooner or later you'll run into a problem called 'callback hell' where in the completion handler of one method you're...

It's been a while since I wrote a book review, mainly because there was a lot of interesting things to write about and book reviews are generally boring :) But this one book deserves to be mentioned....

[caption id="attachment_2255" align="alignright" width="300"] image source: wikipedia.org[/caption] Enigma Machine was a famous cipher machine that the germans used during the World War 2. In its...

Some time ago I wrote on using realtime database from firebase and about Firebase Cloud Messaging. In this article we'll talk about using Firebase Cloud Functions. With Firebase Cloud Functions you...

Bellman-Ford algorithm is a very versatile algorithm for finding the shortest path on an edge weighted directed graph. It differs from Dijkstra's algorithm in that it can handle the negative cycles...

A big problem currently unresolved in the swift world is in regards to enums. Filtering and equating enums in swift is verbose and might require some extra helper function or computed var on the enum...

Edge weighted digraphs can be used for a large number of things. In some cases we want to know if there's a directed cycle between the nodes (or vertices). For example, if we're working on a...

Queue is a simple and widely used data structure that operates on a first in first out principle. Sometimes you can hear them being referred to as FIFO (first in first out) queues. In this article...

Binary search trees are one of the most fundamental data structures in computer science. They are very efficient when inserting and searching for elements. And if you're preparing for a technical...

Last week we've talked about edge weighted digraphs in swift. This week we'll talk about a famous algorithm that's using that data structure. Dijkstra's algorithm is a simple and well-known algorithm...