How to score 100/100 on Google PageSpeed Insights

Who does not like blazing fast websites, that take no time to load and always serve great content. There are websites that have great design and content but tend to be slow due to many factors, for example loading images and other assets that are not optimized for the web.

Continue reading “How to score 100/100 on Google PageSpeed Insights”

Rust on Mac

Rust is systems programming language gaining popularity due to its “safe, concurrent, practical language”, being memory safe while maintaining performance is the reason why so many people are adopting it as their systems language of choice, winning the first place for “most loved programming language” in the Stack Overflow Developer Survey in 2016 and 2017.

Continue reading “Rust on Mac”

Blender on Raspberry Pi

In a hot weather  with multiple laptops running in the same room, the last thing I wanted to do was render, which I did and instantly the cooling fans turned on, result, the room turned uncomfortably warm.

Ten minutes later, I gave up on the render process as I did not want to sit in this oven and decided to fired up my Raspberry Pi 2,  and checked to see if a build of Blender is available in the repository, turns out there is a built not the latest built but has everything I need for the render.

I highly recommend doing this on a Raspberry Pi 2 or higher, as it has sufficient amount of RAM for decent render and CPU that can handle BVH(Bounding Volume Hierarchy) duplication without any issues.

Announcement: I will be publishing the result of the benchmark once they have been completed, you can subscribe via email to get notified or leave a comment.


Installing it is like another application.


Arch Linux

sudo pacman -S blender


sudo apt-get install blender

The good thing about Blender is it has CLI support, which lets you render without firing up the GUI.

blender -b file.blend -o /render/frame_##### -F PNG -f -2

Let’s break down the flags used above.

-b  (render in background without GUI)
file.blend (location of the blend file to be rendered)
-o (Location to where the render will be saved)
-F (Override the image format specified in the blend-file and save to an PNG image.)
-f (Frame)

To learn more about the command line you can visit the official documentation.

RuTorrent on Raspberry Pi

After publishing RTorrent on Raspberry Pi, I did not have enough time to try anything new with the Raspberry Pi, I got requests later to get RuTorrent working with RTorrent on Raspberry Pi.

I decided to use a bash script based setup instead of step by step because it will end up having the same result but with better security measures as the script is written by a much experienced person and maintained actively.

I would recommended doing this on a clean install for best result.


This setup will contain

  1. libtorrent/rtorrent (Latest/Compiled)
  2. SSH port reassigned
  3. VSFTPD (FTP client) random port assigned
  4. Webmin (Optional) (Admin interface)
  5. autodl-irssi
  6. rutorrent (Web UI)

Download the script

wget --no-check-certificate

Run the script

sudo bash

The script would respond shown below

Raspbian GNU/Linux 8.0 (jessie)

Your Server IP/Name is

Is this correct y/n? 

Choose y

The next response would be to add a password to secure the web interface to the user pi

Set Password for RuTorrent web client
 Enter a password (6+ chars)
 or leave blank to generate a random one
 Please enter the new password:

The next response can takes some time depending on the SD card speed and active tasks running in the background

No more user input required, you can complete unattended
 It will take approx 10 minutes for the script to complete

Updating package lists


The final response after the process

crontab entries made. rtorrent and irssi will start on boot for pi

ftp client should be set to explicit ftp over tls using port 48915

If enabled, access https downloads at

rutorrent can be accessed at
rutorrent password as set by user
to change rutorrent password enter: rtpass

IMPORTANT: SSH Port set to 26828 - Ensure you can login before closing this session

The above information is stored in in your home directory.
To see contents enter: cat /home/pi/

To install webmin enter: sudo rtwebmin


Note down the changed SSH and FTP port before exiting the SSH session, the script adds these information to a file named for later access.

ftp client should be set to explicit ftp over tls using port 43915
 If enabled, access https downloads at
 rutorrent can be accessed at
 rutorrent password as set by user
 to change rutorrent password enter: rtpass
 ssh port changed to 21828

The script does even more, it adds various options and update functionality with the help of rtadmin

sudo rtadmin

It would respond with these options

Select from the following options:
 1.) rtgetscripts - update the rtinst scripts
 2.) rtadduser - add new user
 3.) rtremove - delete a user
 4.) rtdload enable - enable http downloads
 5.) rtupdate - up/down-grade rtorent/libtorrent
 6.) rutupgrade - upgrade to latest version of RuTorrent
 7.) rtwebmin - install webmin
 Enter option or q to quit

Doing this whole process manually would take alot of steps and longer time, this script does more and simplifies, things like update, upgrade plugin management, thanks to arakasi72, the repository of the script is on GitHub

If you have more requests for such posts let me know in a comment or contact directly for feedback.