FP Error Handling

I would like to handle errors in pure FP (functional programming), something more idiomatic and easier to read than nested try/catch blocks. Let’s say we have the following procedure, This is pretty straightforward. Given a list of numbers (represented as strings), compute the areas of these as circles, and then divide by a common divisor […]

How to Find a Job as a Software Engineer

Software Engineering as changed a lot since the 1990s: we’ve seen the rise of the Internet, smartphones, machine learning, and a golden age of programming languages. Yet despite the technological advances, the actual process of finding a well-paying job as a software engineer hasn’t changed much. The buzzwords have changed, the amount of money has […]

multiple git remotes

I would like to manage a project across multiple remote git repositories, specifically, a public github repository and my own private repositories. Fortunately, git supports as many remote repositories as you need. When you clone a repository, there will be a default remote called “origin”, i.e., Adding additional remotes is trivial, i.e., Now, when we […]

OOP or Procedural?

I would like to know when it is best to use object-oriented programming, and when it is best to use procedural programming. tl;dr: neither, go with functional programming By procedural programming, I mean the kind of code you’d find programming in C; imperative control flow, functions, data structures, and algorithms. For example, And by object-oriented […]

Graph Search

I would like to discover paths between two nodes on a graph. Let’s say we have a graph that looks something like this: The graph object contains a collection of nodes and their corresponding connections. If it’s a bi-directional graph, those connections would have to appear in the corresponding sets (e.g., 1: set([2]) and 2: […]