Blog

  • strlen vs mb_strlen in PHP

    strlen vs mb_strlen in PHP

    As a PHP developer, I am sure you use strlen often to check for the length of strings. strlen does not return the length of a string but the number of bytes in a string. In PHP, one character is one byte therefore for characters that fall within the 0 – 255 range in ASCII/UTF-8…

    Read more


  • Software development process for the Solo developer

    Software development process for the Solo developer

    Completing and shipping personal projects as a solo developer can be tasking when you have other responsibilities. Over the years I have gathered a simple framework to ship good software quickly. The steps can be divided into: You may ask, what about other methods agile, waterfall etc. I have found those techniques to be too…

    Read more


  • Separating WSL (Linux) path and Window path

    Separating WSL (Linux) path and Window path

    I often find myself hacking the Linux kernel for fun and profit. This time I was trying out Buildroot Embedded Linux build system and the first stumbling block using WSL was the fact that Windows path containing spaces were appended to the WSL path which the Linux file system has issues with. Running make for…

    Read more


  • If you forget your Windows Subsystem for Linux (WSL) password, try this.

    I have been using Windows Subsystem for Linux (WSL) for a while now and sometimes I create a distribution and forget the password. If you find your self in the same situation, just follow these steps: Hope this was helpful to you. Thanks for reading.

    Read more


  • System statistics reporting using Laravel

    The Laravel web framework comes with a lot of powerful tools and one of them it the Task Scheduler. This allows you to create and manage all your automated – Cron Jobs – tasks within the framework. If you do not write Cron jobs often, going through documentation or memorizing the Crontab syntax and expression…

    Read more


  • Improving systems performance with checksums: Part 1

    Checksums are blocks of data generated from another block of data you want to store or transfer to ensure that correct data is transmitted during the process of moving data around. This is useful for data correction and security purposes. For example you could use a checksum algorithm to check if the data you download…

    Read more


  • Formula for converting IP address to long

    After looking at PHP’s ip2long function I was curious about how this conversion is done. It is quiet simple and to achieve this conversion you have to take the IP address to be in base 256. Then add the product of the base raised to the power of the number position (0, 1, 2 &…

    Read more


  • Setting up Raspberry Pi Zero W without a monitor, mouse or keyboard :

    Setting up a Raspberry Pi Zero W board is quiet simple. All you need are: The items listed above are illustrated from left to right in the image below: You will also need a computer ( I am running mine on a Windows operating system). Now that we are ready, The steps to follow are:…

    Read more


  • Making Custom Numbered List in CSS : Part 1

    Creating a custom numbered list in CSS is quite simple. This can be done using a list or any block level element. We will be using the following CSS properties: Below is a sample using counter function with block level elements. See the Pen Custom List in CSS by Sheun (@sheunl) on CodePen. Custom numbering…

    Read more


  • Importance of software Testing

    In a lot of solo projects testing is usually an after thought. Any team or even individual with any long term plans for a project should have test written into their code. If your projects do not have tests they are exposed to the following issue. Just because a project is small does not mean…

    Read more


  • Quick one on Python random numbers sampling

    I have been working on a project to generate random data using Python. Since I am not using this project for any security application I opted for the Python pseudo-random number generator random . In order to randomly select items from a list three option presented themselves to me random.choice, random.choices and random.sample . random.choice…

    Read more