Quick References

As a constant learner, I get to touch upon many ideas in different areas. This category is for me to capture those ideas which I felt people may reference to get ahead of their tasks. Most of the time, I do come back to this section of my blog to remember what I had learnt in the past.

How to install python3-venv on Ubuntu 16.04

Since Ubuntu 16.04 is a very popular operating system, it is one operating system that you will likely come across when you are building software with Python 3. For example, if you want to get a Nvidia Jetson TX2 developer kit today, you will find yourself dabbling with Ubuntu 16.04.

On the other hand, the venv module of Python 3 is one recommended way to create virtual environments for our Python 3 projects.

In case you need it, this post describes how to install python3-venv on Ubuntu 16.04.

How to host a static website on your Raspberry Pi 3 with Raspbian Stretch Lite and Nginx

When you want to host a static website as your personal portfolio, you can consider using a Raspberry Pi 3. In addition to having a small form factor, a Raspberry Pi 3 is a single board computer that does not take up too much energy to run 24-7.

In order to host a static website on Raspberry Pi 3, you will need an operating system and a web server. Given these points, this is how to host a static website on your Raspberry Pi 3 with Raspbian Stretch Lite as the operating system and Nginx as the web server.

How to get your Raspberry Pi 3 to use Namecheap dynamic DNS to update your domain when your home’s public IP address changes

When you do not leave your modem and router on 24-7, chances are that your public IP address will change. As I had noted in how to host multiple website at home, a public IP address is needed for HTTP clients to reach your HTTP servers at home.

On the other hand, a domain name allows us to map some meaningful English characters to that public IP address. Therefore, it is easier to access our servers with a domain name rather than an IP address.

Although you can get a free subdomain from a dynamic DNS provider, getting your own domain name from a domain registrar like Namecheap can be better. On one hand, you get your own online branding for establishing yourself or your business on the Internet. On the other hand, you are resilient to having your domain shutdown by the dynamic DNS provider for any reasons that is beyond your control.

Previously, I shared why Namecheap is the best domain name registrar for hosting your web server at home. One of the reasons is that Namecheap provides dynamic DNS for us to update the host records of our domain whenever our public IP address changes. Since Raspberry Pi 3 is an affordable, small and energy efficient single board computer, you can get it to use Namecheap Dynamic DNS service to update your domain when your home’s public IP address changes.

In case you need it, this post shows how to get your Raspberry Pi 3 to use Namecheap dynamic DNS to update your domain when your home’s public IP address changes.

Why Namecheap is the best domain name registrar for hosting your web server at home

Basically, a HTTP client contacts a HTTP server with an IP address. For example, when you access google.com, your web browser could be using 74.125.24.100 as the IP address to contact one of Google’s web servers. Although an IP address is what HTTP clients used for contacting HTTP servers, a domain name is easier to remember.

So if you want to host a web server at home, it is recommended that you get a domain name to make accessing your web server easier. In case you are looking for a domain name registrar to purchase a domain for your home server, this post discusses why you may want to buy from Namecheap.

How to set environment variables for your Python application from PyCharm

The Twelve-Factor App methodology recommends storing configurations in the environment.

When you follow this methodology and want to run your Python application from PyCharm, you need to create a customised run configuration.

In case you need it, this post shows how to set environment variables for your Python application from PyCharm.

How to associate a virtual environment with a Python project in PyCharm

When it comes to Python development, PyCharm is my favourite IDE.

Before working on a new Python project, I like to create a virtual environment and associate it with the corresponding PyCharm project. In case you like this mode of operation, this is how you can associate a virtual environment with a Python project in PyCharm.

How I use my Raspberry Pis to help me work on with my side projects

Undeniably, Raspberry Pi has revolutionised the way we use computing technology in our lives. In addition to being energy efficient, a Raspberry Pi is a single board computer that does not take up too much space.

Given these points, a Raspberry Pi is an ideal programmer gift and one of the things that you should buy if you are a computer programmer.

On the other hand, pursuing side projects help me explore technologies that I may not be able to explore at work. For example, through Techcoil, I got to know more about:

In case you are wondering how to use Raspberry Pis to help you work on your side projects, read on to find out more.

Helpful GPIO Pinout resources that you can reference while connecting sensors to your Raspberry Pi 3

Undeniably, the GPIO (general-purpose input/output) pins along the top edge of your Raspberry Pi 3 board is what makes it so useful for IOT projects. In case you are curious, this is how the GPIO pins looks like on a Raspberry Pi 3 B+:

GPIO pins of a Raspberry Pi 3 B+

Although there is the word GPIO on the circuit board that indicates what those pins are, there is no indication on what each individual pin does.

So how do you know which pins to connect your sensors to? Thankfully, there are several good resources that you can reference while connecting sensors to your Raspberry Pi 3 board.

In case you need it, here are some helpful GPIO resources that you can reference when you are connecting sensors to your Raspberry Pi 3 board.

Getting started with an Nvidia Jetson TX2 developer kit

When we have the right amount of data, machine learning enables us to use them for building a model that can provide answers for future questions.

Compared to CPUs, a GPU is better suited for us to build that model. This is because a GPU is very good at performing much more computations in parallel.

Although you can build your own GPU rig for machine learning, an Nvidia Jetson TX2 developer kit is easier to setup and more energy efficient. Therefore, I got myself a Nvidia Jetson TX2 developer kit to ride on the machine learning bandwagon.

In case you are wondering what is in the box and how to get started with an Nvidia Jetson TX2 developer kit, read on to find out more.