Mar 06, 2019

Cycle Detection With Floyd Tortoise And Hare

Floyd’s Tortoise and Hare is a cycle detection algorithm operating on a linked list. The algorithm is based on two pointers, the tortoise and the hare, moving on the linked list at a different speed. The algorithm can be used to find cycle existence, deduces the beginning of the cycle, and the length of a cycle. Today we will explore the mathematical proof behind the algorithm and we will implement it in Racket.

Racket Python

Mar 01, 2019

The Basket Of Apples Problem With Tree

Working with trees is an interesting task. Today we will look into the Basket of Apples problem, which can be solved using a tree structure. This deep dive will allow us to explore how we can reason around trees and understand concepts allowing us to vocalize ideas.

Mathematics

Feb 22, 2019

Fixed Point And Newton Method

Last week, we briefly looked into the Y Combinator also known as fixed-point combinator. Today we will explore more on the territory of fixed-points by looking at what a fixed-point is, and how it can be utilized with the Newton’s Method to define an implementation of a square root procedure.

Racket

Feb 14, 2019

Recursion With Fibonacci

Recursion refers to the property of a function to be defined in term of itself. The Fibonacci sequence is a great example of a recursive problem where a Fibonacci number is calculated from a combination of precedent Fibonacci numbers. Recursion can be implemented in many forms, it is even possible to implement recursion without explicit self calling. Today we will look at different implementations of Fibonacci and discover their properties.

Racket

Feb 06, 2019

Lambda Calculus And Closure

In programming, we often hear about Closures. Closures are present in any languages possessing functions as first class citizen. This includes functional languages and also widespread languages such as C#, Python and JavaScript. Today we will look at the origin of closures and understand what they are.

Racket

Jan 30, 2019

Implementing Exceptions With Continuations Racket Lisp

Last week a colleague of mine introduced me to the concept of continuation in Racket (the best of Scheme and Lisp - at least that is what racket-lang.org states). I knew about the existence of Lisp but I never really paid attention to what it provided as language features. So I took the bite and started to read the post shared to me on continuations, written by Matt Might and oh boy… was I confused. Everything about the code confused me, the notation, the syntax, and of course the flow of the program itself. What I understood was that this piece was implementing Exceptions by using continuations which was enough to make me want to understand it.

Racket

Jan 25, 2019

Property Based Testing With Hypothesis

Property-based testing is a testing method where a property of our system is tested against multiple datasets. Today we will see how we can create property tests using Hypothesis in Python.

Python

Jan 18, 2019

Python Web Api With Flask

Flask is a microframework for python providing building blocks to compose websites and web API quickly. It has a vast ecosystem driven by open source libraries maintained and used by many developers. Today we will see how we can setup a simple todo web API using Flask and how we can setup OpenAPI 3.0 (OAS3 - previously known as Swagger).

Python Flask

Jan 11, 2019

Prometheus With Aspnetcore

Prometheus is an open source monitering platform. It provides multiple functionalities to store, manipulate and monitor metrics from our applications. Today we will see how we can push metrics from an ASP NET Core application, and how to make sense of it.

DotNetCore CSharp prometheus

Jan 04, 2019

Custom Blue Green Deployment With Nginx And Gitlab Ci

Blue-green deployment is a method used to reduce risk and downtime during deployment. Today we will see how we can implement a fully custom Blue-green deployment for a single server setup using Nginx and using Gitlab CI for continuous deployment.

GitLab NGINX DotNetCore Ubuntu

Dec 28, 2018

Create A Blog With Jekyll

Jekyll is a blog aware static site generator. Blog aware means that it ships with functionalities to build blogs and blog posts. The two major benefits from Jekyll are the markdown translation to HTML and its blog creation orientation. I recently migrated out of blogger and moved to building my own website using Jekyll and today I will share the steps I took.

Jekyll

Dec 21, 2018

Vegeta Load Test

Load testing helps catch problems which only appear in high load. A common use case of load testing is to load our API with an amount of request of two or three times higher than the usual load. This will provide confidence in our API ability to handle larger traffic. Today we will look into Vegeta, an open source HTTP load testing tool quick and easy to setup. In this post, I’ll demonstrate how quickly and easily we can load test our API endpoints.

AWS

Dec 14, 2018

Create React App And Mobx

I have been using state management frameworks for the past few years, mainly with Angular and NGRX. Today we will see how we can get started with Create-React-App using Mobx as a state management system.

React Mobx

Dec 07, 2018

Https With Letsencrypt And Certbot

Securing communication between client and server is a mandatory step when building web application. Thanks to Let’s Encrypt, it is now free to setup SSL certificate and with Certbot, the ACME protocol implementation available on Ubuntu, it is a five minutes job to get it to work with Nginx.

Azure NGINX Let's Encrypt