Understanding Bloom Filters: A Beginner’s Guide
In this post, I will explain what Bloom filters are, how they work, and why they are useful in computer science.
In this post, I will explain what Bloom filters are, how they work, and why they are useful in computer science.
In this post, I will talk about snapshots in event sourcing and how they can be used to optimize read performance in an event-sourced system.
In this post, I will show a basic example of event sourcing.
In this post, I will explain the core concepts of event sourcing as well as its relationship with Domain-Driven Design (DDD) and Command Query Responsibility...
In this post, I will introduce event sourcing, a different way to manage application state.
In this post, I will show you how you can implement the saga pattern with NServiceBus
In this post, I will show you how you can implement the outbox pattern using NServiceBus.
In this post, I will take you through how to build your first distributed system using NServiceBus.
In this post, I will introduce NServiceBus, a very powerful library for building distributed systems in dotnet.
In this post I will talk about the importance of context when applying best practices in software development.
My experience with GitHub Copilot
In this post, I will briefly explain how to use feature flags in .NET.
In this post, I will show how to use Azure Event Grid in .NET.
In this post, I will show how to use Azure Service Bus in .NET.
In this post, I will show how to use Azure Storage Queues in .NET.
In this post, I will introduce some of the messaging services available in Azure.
In this post, we’ll look at how to use the in-memory cache in .NET.
In this post, I will show you how you can write tests to enforce architecture rules in .NET.
In this post, I will show you how to use WireMock.Net to mock HTTP APIs in .NET.
In this post, I will show you how to use the Data property of the Exception class to add more context to exceptions.
In this post, we’ll look at how to use the rate limiting middleware in ASP.NET Core.
In this post I will be talking about rate limiting in .NET.
In this post I will be showing you how to publish Azure Functions using GitHub Actions.
In this post I will be showing you how to create Azure Functions using the Azure Functions Core Tools.
In this post I will be showing you how to deploy Azure Function resources using Bicep and GitHub Actions.
In this post, I will be describing the anatomy of Azure Functions.
In this post I introduce Azure Functions and the different ways you can use them.
In this post we are going to talk about how to use GitHub actions to deploy an Angular website to Azure blob storage.
In this post I am going to talk about how I managed to make huge savings by migrating by applications to Azure.
In this post we are going to talk about how to use Azure managed identities.
In this post we are going to introduce Azure managed identities
In this post we are going to talk about how to use custom attributes in Azure AD B2C…
In this post we are going to talk about how to use Azure AD B2C custom policies to create user journeys…
In this post we are going to talk about how to build customer identity access management using Azure AD B2C.
In this post we are going to implement an algorithm that finds the largest component in a graph
In this post we are going to implement an algorithm that counts the number of connected components in a graph
In this post we are going to implement an algorithm that finds the shortest path between two vertices in a graph
In this post we are going to implement an algorithm that checks if there is a path between two vertices in a graph
In this post we are going to talk different ways to traverse a graph data structure…
In this post we are going to talk about how to remove an edge between two vertices
In this post we are going to talk about how to remove a vertex from a graph
In this post we are going to talk about how to insert an edge into a graph
In this post we are going to introduce the graph data structure…
In this post we are going to use a binary heap to solve the Jesse and cookies problem on HackerRank
In this post we are going to talk about how to use a binary heap to find the kth largest element in an unsorted array
In this post we are going to talk about how to remove a specific node from a binary heap
In this post we are going to talk about how to pop the root of a binary heap
In this post we are going to introduce binary heaps and implement a basic min binary heap
In this post we are going to solve another LeetCode problem where we convert a sorted linked list into a balanced BST.
In this post we are going solve another LeetCode problem where we validate a binary search tree
In this post we are going to solve another LeetCode problem where we convert a sorted array into a binary search tree
In this post we are going to talk about removing a node from a binary search tree
In this post we are going to talk about how to find the kth smallest item in a binary search tree.
In this post we are going to talk about how to find the lowest common ancestor for two nodes in a binary search tree.
In this post we are going to talk about how to check if binary search tree is balanced.
In this post we are going to talk about how to traverse a binary search tree
In this post we are going to talk about searching for items in a binary search tree
In this post we are going to introduce binary search trees and implement a basic binary search tree
In this post we are going to talk about removing duplicate items from a doubly-linked list…
In this post we are going to talk about reversing a doubly-linked list
In this post we are going to try a HackerRank challenge relating to a doubly-linked list
In this post we are going to discuss how to add a new node before or after a specific node in a doubly-linked list…
In this post we are going to discuss how search to for items in a doubly-linked list…
In this post we are going to discuss how traverse a doubly-linked list…
Basic implementation of a doubly-linked list
What I plan to do during the first few weeks of 2022
Edit – 22 June 2021: After more tests we discovered that the problem devices worked fine when the phone was charging which means we’re affected by the Doze M...
Writing tests for your software is one of those things every software developer can’t argue against (a few still do though). There are a ton of benefits you ...
It’s early in the morning, the sun’s rays have just broken through the foggy horizon. The early birds are busy singing, energized by the calories of the unfo...
In this post I am going to talk about how you can generate app launcher icons in Flutter using a wonderful package that I stumbled upon two years ago when I ...
Nowadays almost all mobile devices support biometric authentication to add a ‘fool-proof’ solution for user verification. If your Flutter app contains sensit...
Have you ever wondered how nice scrolling effects like the collapsible navigation bar can be achieved in Flutter? Well, look no further – CustomScrollView is...
In software development one is presented with two options: specialise in one particular technology, language, etcetera; or generalise and be a Jack of trades...
A little under a year ago I wrote an article where I showed how to create an authentication flow using BLoC. On New Year’s Day (2021) as I was catching up wi...
When building Flutter applications themes come in handy when you want to share colors, fonts and other styles across your entire application. This will help ...
2020 will go down as one of the craziest years in human history. When the year began everyone, including myself, had dreams, goals and aspirations which they...
An introduction to Terraform - modules, input variables and output values
An introduction to Terraform - providers and resources
Unified Modeling Language (UML) has been around the software development circles for a fairly long time now. It helps provide a standardised way to visualise...
In the previous post we introduced Polly, a .NET resilience and transient-fault-handling library. We spoke about the retry policy that can be used to help yo...
In this age of Service Oriented Architecture (SOA) where small microservices within a system communicate with each other using various protocols, typically o...
A little over 2 years ago I worked on a project that involved facial recognition. Even though I eventually used Python for the project, I initially wanted to...
During this Covid-19 global pandemic many people found themselves having to work from home due to lockdown measures put in place by various governments acros...
For the past few weekends I have been working on a new feature for my apps that will allow users to watch video tutorials inside the apps. The videos will be...
Many applications nowadays send emails to their users for a wide range of reasons – email confirmation, password reset, etc. It is inevitable that as a devel...
At the beginning of this month I challenged myself to learn more about Domain Driven Design. I have come across this topic multiple times but had never focus...
In the previous post we added user registration to our identity server project. Now that we have most of the functionality working we can now move everything...
In the previous post we added an MVC client to our project and protected it using our identity server. In this post we are going to add user registration fun...
In the previous post we added support for users to login to our identity server using ASP.NET Core Identity and Entity Framework. In this post we are going t...
In the previous post we implemented a protected REST API and a console application that consumed the API. The console application made use of an access token...
In the previous post we built an identity server that supports OAuth 2.0 and OpenID Connect protocols using the IdentityServer4 framework. We also registered...
Modern systems comprise of many independent parts linked together – APIs, web clients, mobile clients and other connected devices. All these layers need to c...
Software development has taken the world by storm in the past couple of years. Every aspect of people’s lives the world over depends on software in one way o...
When developing mobile apps it is almost inevitable that you will want to capture some information from the user using forms. In this post we are going to ta...
Almost every mobile app consumes HTTP resources one way or the other – fetching data from a web service, authenticating users and many more examples. In Flut...
As you may have heard, everything in Flutter is a widget – from things that you can interact with on screen like buttons and text fields to things that you d...
In the previous post we introduced the BLoC pattern as one of the state management solutions in Flutter. In this post we are going to put that theory into pr...
In every application state management is one of the most important things you need to deal with as a developer. You need to properly manage state in your app...
Around August 2018 I came across Flutter, a multi-platform toolkit for building mobile apps, desktop apps as well as web apps. It sounded very interesting an...
In part 7 of our series we looked at writing unit tests for our REST API. In this post we are going to look at making our API usable by non-web clients such ...
Happy New Year! I hope you had a wonderful time during the December holidays. Myself I had so much fun at my rural home in Zimbabwe where the we were celebra...
In part 5 of our series we added more endpoints to our API. In this very short post we are going to add filtering support to our trips endpoint to allow user...
In part 4 of our series we installed Django Rest Framework to our project and exposed our first API endpoint for the Users model. In this post we are going t...
In part 3 of our series we added more models to our system. In this post we are going to start working on the REST API. We are going to install the library t...
In part 2 of the series we added some validation to our custom User model as well as unit tests. In this post we are going to create more models – Vehicle, P...
In part 1 of the series we created a custom User model with which we replaced the default model that Django provides. We also added two custom parameters – g...
In this series we are going to create a web API using Django and django-restframeworklibrary.
Over the past 18 months I have been doing a lot of Python programming in my side projects as well as at work. In all my projects I always find myself needing...
When I was still in university I failed a job interview because I did not know the architecture I was using in my project (embarrassing). Since that day I de...
Imagine you have data set that contains 10 000 items that you need to display in your application. Loading all these items before rendering them on the scree...
As you may know Android Instant Apps are now open to all developers. This is the news people like me have been waiting for for a very long time. In this post...
Welcome to part 3 of our series on Android Architecture Components. In the previous post we wrote tests for our database implementation to ensure that our da...
Welcome to part 2 of our series on Android Architecture Components. In the previous post we introduced the components and created Entities, DAOs and Database...
At Google I/O 2017 Android Architecture Components were introduced. These components are building blocks that work together to implement an app architecture ...
Welcome to part 4 of our series. In the previous post we remodelled our app to group related tasks in task lists. Today we are going to add user authenticati...
In the previous post we added the Firebase realtime database to our app and linked it to our ListView using the Firebase UI library. In this post we are goin...
In the previous post we created a simple task management application that had the basic functionalities of adding tasks and marking them as completed. Howeve...
In this series we are going to create a simple android app for managing tasks using firebase as our backend service. The app should be able to do the followi...