ayoubed.com
  • Home
  • Problem Solving
  • Software Engineering
  • Books
  • Betterment
  • Author
Sign in Subscribe
ayoubed.com
A Billion Users A Day: A Deep Dive Into Modern Distributed Systems
software engineering

A Billion Users A Day: A Deep Dive Into Modern Distributed Systems

This article is an extract from a talk I've done earlier this year for GeeksBlala. You can check out the talk here – if you speak Moroccan Arabic :): Introduction In today’s digital age, we interact with distributed systems constantly, often without even realizing it. From social media platforms
03 Oct 2024 8 min read
Do not try to get rich, git gud
betterment

Do not try to get rich, git gud

What is this? This is a quick synopsis of a Twitter thread by Naval Ravikant, an Indian-American entrepreneur and investor. He is the co-founder, chairman, and former CEO of AngelList. He has invested early-stage in over 200 companies including 10 Unicorns. This thread talks about getting rich, but do not
02 Jan 2022 2 min read
The Pleasure of Finding Things Out – Richard Feynman
book

The Pleasure of Finding Things Out – Richard Feynman

“Science is the belief in the ignorance of experts.” ― Richard Feynman, The Pleasure of Finding Things Out "The first principle is that you must not fool yourself and you are the easiest person to fool." ― Richard Feynman, The Pleasure of Finding Things Out It is hard to not
26 Nov 2021 2 min read
Flow: The Psychology of Optimal Experience – Mihaly Csikszentmihalyi
book

Flow: The Psychology of Optimal Experience – Mihaly Csikszentmihalyi

For most people, this is the "Happiness Handbook." Both scientific and philosophical, it essentially defines happiness itself and then goes into great detail about how we can achieve it every moment of our life (at least hypothetically). While far from "light reading," I found the intense
08 Nov 2021 3 min read
Segment Trees, and how you can crack range queries problems
problem-solving

Segment Trees, and how you can crack range queries problems

A quick refresher on segment trees A segment tree is a data structure that allows answering range queries like the sum of subarray a[[l...r] or the minimum element in such a range in O(log n). The segment trees require a linear amount of memory and modify one
08 Oct 2021 5 min read
Trees: Find the Minimum Difference of two floods
problem-solving

Trees: Find the Minimum Difference of two floods

A sewer drainage system is structured as a tree. Water enters the system at n nodes numbered from 0 to n-1 and flows through the tree to the root, which has the number 0. The tree structure is defined by an array parent, where parent[i] = j means that water
03 Oct 2021 2 min read
Generate Self Descriptive Numbers
backtracking

Generate Self Descriptive Numbers

An integer is said to be self-descriptive if it has the property that, when digit positions are labeled 0 to N-1, the digit in each position is equal to the number of times that this digit appears in the number. Write a function that will generate all descriptive numbers with
06 Sep 2021 2 min read
Sliding Window Maximum
problem-solving

Sliding Window Maximum

You are given an array of integers nums, there is a sliding window of size k which is moving from the very left of the array to the very right. You can only see the k numbers in the window. Each time the sliding window moves right by one position.
02 Sep 2021 2 min read
A Study of API Rate Limiting
software engineering

A Study of API Rate Limiting

HTTP rate limiters can act as the first line of defense in keeping your services in line. Here are a few more real-life use cases: * Limiting POST on /login and /signup helps to stop spammers from creating too many accounts. * Limiting POST on /upload endpoint allows you to control how
02 May 2021 4 min read
Scheduling Problem
problem-solving

Scheduling Problem

The Scheduling Problem is a classic problem in computer science. The goal behind it is to optimize our use of the resources available to us. In this article we'll try to tackle a simple version of said problem. The Problem: suppose we our responsible for the scheduling of
17 Jan 2021 1 min read
Finding the Eulerian path: reconstruct the itinerary
problem-solving

Finding the Eulerian path: reconstruct the itinerary

A Eulerian path is a path in a graph that passes through all of its edges exactly once. A Eulerian cycle is a Eulerian path that is a cycle. The problem is to find the Eulerian path in an directed multigraph with loops. Algorithm First we can check if there
15 Jan 2021 2 min read
Find if a string is a concatenation of dictionary words
problem-solving

Find if a string is a concatenation of dictionary words

I had an interview recently with a well known auto-related company(that's all I'm gonna say !). I thought I would share the problem that I faced, how I solved it during the interview, and another simpler solution I found while up solving afterwards. The Problem Given
04 Dec 2020 3 min read
The smallest intersection set you can get by taking k elements from n intervals
problem-solving

The smallest intersection set you can get by taking k elements from n intervals

It is often the case that out of a number of groups, we desire to take a number of representatives. It is usually our goal to take the smallest number of representatives while making sure that no group is left out. For our case study today we are going to
30 Nov 2020 1 min read
Angels & Demons – Dan Brown
book

Angels & Demons – Dan Brown

Last week, I embarked on a brief journey, my first since the pandemic began. While away, I seized the chance to purchase a new book, as my local area, unfortunately, lacks bookstores. I sought something authentic, steering clear of the typical best seller self-help books that dwell on misery or
12 Nov 2020 1 min read
Tarjan's Algorithm: Finding Strongly Connected Components
problem-solving

Tarjan's Algorithm: Finding Strongly Connected Components

Today, I encountered a problem that I struggled with for a long time. The problem goes like this: -------------------------------------------------------------------------------- There are n servers numbered from 0 to n-1 connected by undirected server-to-server connections forming a network where connections[i] = [a, b] represents a connection between servers a and b. Any
01 Nov 2020 3 min read
Website Availability & Performance Monitoring Tool
project

Website Availability & Performance Monitoring Tool

Overview * A console program to monitor the performance and availability of websites * Websites and check intervals are user-defined Statistics * Check the different websites with their corresponding check intervals * Compute a few interesting metrics: availability, max/avg response times, max/avg time to first byte, response codes count Alerting * When a
31 Oct 2020 4 min read
Building my first API using Serverless, Typescript, and GraphQl
project

Building my first API using Serverless, Typescript, and GraphQl

Serverless is a new trend for the deployment of cloud applications. Recently it has gained much popularity mainly due to the shift of enterprise application architectures to containers and microservices. The “serverless” term clearly does not mean that our services no longer need servers to run on, but means that
31 Oct 2020 10 min read
Page 1 of 1
ayoubed.com © 2025
Powered by Ghost