Karani's Blog

Updates, lessons and "imos"

  • Published on

    Zero Configuration Resolution - under the hood.

    Laravel usually boasts of being able to do magic(its not hidden). The goal of laravel is to make the DevEx as good as possible. You can see it in the recent LaraconUs(2025) with what they have done with inertia. Pretty sleek. This will often involve lots of design pattern.

  • Published on

    Foundation...

    Its not about construction, what's inside ๐Ÿ˜† ; "A foundation in the contsruction world is meant to be rigid. It is meant to hold the building well to the ultimate limit and not just permissible strength.(Trust me bro, I have done design of structures.) When we are doing structures, we want to calculate the expected load and multiply by a certain factor usually 1.3(in the Eurocode)."

  • Published on

    How Laravel Simplifies Observers

    Sometimes, you may need to trigger some events in your code and maybe you don't want to do it in the controller or another place where the code would be messy. Observers are handy with such problems and will help you maintain a clean codebase. We will look at the observer pattern and how laravel simplifies this process.

  • Published on

    M-Pesa API: The Confusing Parts

    A few weeks ago, I wanted to try out the mpesa api since I see complains about it on twitter. I wanted to see if it was really that hard to implement. I was wrong. It was not hard to implement but the documentation was not clear on some parts. I'll discuss the confusing parts I encountered and how I solved them.

  • Published on

    Fixing forbidden errors in servers.

    Sometimes, nginx or apache2 will often slap you with the forbidden error html page after you have deployed. This will usually happen when you are new to the whole server deployment and configuration. It can also happen locally when you are having fun configuring the servers. It works on the development server but not the deployment server. In this article we will discuss linux file and directory permission commands that will help you fix the forbidden error messages.

  • Published on

    Don't read only, do it - chmod 700 you

    Hello, its friday, its blog day. We are going to talk about the importance of practice in software engineering. Its not a long one but I hope you get the point. The benefits of practice are immense. It is the difference between "I can do it" and "I have done it".

  • Published on

    A case for mediocre products

    In this article, I look at the idea of requiring context in understanding what is a mediocre product. Does it solve the problems it's meant to solve? Its worth to the customer and their satisfaction. I also welcome you to share your ideas with us at taji.africa.

  • Published on

    Singleton Pattern

    What even is a design pattern? Its a kernel to a solution. Yeah. It's not language agnostic. It's just a solution that helps in designing better code. There are many design patterns especially in the world of objects. Patterns work well with other patterns. They also have have their disadvantages. Patterns are good when used when needed.

  • Published on

    Exploring Laravel Sail

    In this article I look into Laravel Sail, a development environment for Laravel applications. Laravel Sail is a lightweight command-line interface that simplifies the process of running Laravel applications in Docker containers in development mode.

  • Published on

    Getting started with pytest and flask

    In this article, we will look at how to get started with pytest and flask. We will develop a simple application that will have a simple model and a controller. We will then develop tests for the model and the controller. We will also look at how to run the tests.

  • Published on

    Stripe Integration with Kotlin

    We are going to look at how to integrate stripe with kotlin. Stripe is a payment gateway that allows you to accept payments online. The docs for stripe are usually well written and it becomes easy to do the integration.

  • Published on

    Hello World

    Hello, here to say what I need to say. I am a software engineer and I am here to share my thoughts and experiences with you. I hope you enjoy my blog.