Blog

Text Editor Latency

Editor latency is the delay between an input event and a corresponding screen update, in particular case - the delay between keystroke and character appearance. While there are many kinds of delays (caret movement, line editing, etc), typing latency is a major predictor of editor usability.

Bloom Filters, Probabilistic

A Bloom filter is a space-efficient probabilistic data structure that is used to test whether an element is a member of a set. False positive matches are possible, but false negatives are not, thus a Bloom filter has a 100% recall rate.

When GitHub Goes Down

As of 21 Oct, 2016 GitHub is down due to an intermittent DDoS attack against one of the biggest DNS services, DYN. Fortunately Git is a distributed protocol and if you are a conscious developer you surely have alternative origins to push your code and/or to populate deployment.

Scikit-learn Installation (Linux Mint)

Scikit-learn is a free software machine learning library for the Python programming language. It features various classification, regression and clustering algorithms including support vector machines, random forests, gradient boosting, k-means and DBSCAN, and is designed to interoperate with the Python numerical and scientific libraries NumPy and SciPy.

MI5 Coding Challenge

MI5 (Military Intelligence, Section 5) is the United Kingdom's domestic counter-intelligence and security agency and is part of its intelligence machinery alongside the Secret Intelligence Service (MI6), Government Communications Headquarters (GCHQ) and Defence Intelligence (DI). The service is directed to protect British parliamentary democracy and economic interests, and counter terrorism and espionage within the UK.

Cracking the Coding Interview

Cracking the Coding Interview, a book that gives you the interview preparation you need to get the top software developer jobs. This is a deeply technical book and focuses on the software engineering skills to ace your interview. This is a series of short non-listed articles about data structures and algorithms.

CtCI - Grade School Algorithm

Cracking the Coding Interview; Grade School Algorithm; A multiplication algorithm is an algorithm (or method) to multiply two numbers. Depending on the size of the numbers, different algorithms are in use. Efficient multiplication algorithms have existed since the advent of the decimal system.

CtCI - Snail Sort

Cracking the Coding Interview; Snail Sort; Snail Sort is an algorithm that takes a multi-dimensional array and flattens it to create a new array with all the elements from the matrix but in the same order as a snail shell. This is, starting from the left side of the first array in the matrix and ending on the center of it as pictured below.

CtCI - Making Anagrams

Cracking the Coding Interview; Making Anagrams; Alice is taking a cryptography class and finding anagrams to be very useful. We consider two strings to be anagrams of each other if the first string's letters can be rearranged to form the second string. In other words, both strings must contain the same exact letters in the same exact frequency For example, "bacdc" and "dcbac" are anagrams, but "bacdc" and "dcbad" are not.

Do you have a project idea? Let's make it together!