Changing the Computer Name of Windows Server 2016

Every time I launch a Windows Server on AWS or Google Cloud it always provides a random Computer Name. As a good practice I always want my computers to be named descriptively.

In this case I would like to update my Windows Server 2016 Computer Name to DC01, which means Domain Controller 01, since I will be using this server for Active Directory.

Below is a step by step guide on how to rename my Windows Computers to a more descriptive name.

Renaming the Windows Computer

Right-click on the Window Icon on the lower-left of the screen. Then click on System.

On the System Information Window, under Computer name, domain, and workgroup settings click on Change settings.

Continue reading Changing the Computer Name of Windows Server 2016

Installing MySQLdb for Python 3 in Windows

My favorite Python connector for MySQL or MariaDB is MySQLdb, the problem with this connector is that it is complicated to install on Windows!

I am creating this article for those who want to install MySQLdb for Python 3 for Windows. Especially me, since each time I am doing a Python project that needs to connect to MariaDB or MySQL I always look on how to install MySQLdb.

If you are interested why I prefer MySQLdb compared to other MySQL connectors you may want to read the comparison of MySQL-connector and MySQLdb from Charles Nagy.

Problems with installing MySQLdb on Windows

You can actually install MySQLdb using pip. See pypi documentation here.

pip install MySQL-python

Unfortunately, the pypi documentation is already out of date with the latest release was on Jan 3, 2014. Continue reading Installing MySQLdb for Python 3 in Windows

Resizing Storage Volume for AWS EC2 Windows without Restarts/Downtime

Problem: You are running a critical Windows Server on AWS EC2 and the C: drive is almost full (storage volume) but it should zero downtime (No Restart, No Stop then Start). Is this possible on AWS EC2?

Yes, it is possible.

Check the instructions below.

Test Windows Server

AMI Microsoft Windows Server 2016 Base
Instance Type t2.micro
Storage 30 GiB – General Purpose SSD (gp2)

Storage Size

We are increasing the Storage size from 30 GiB to the target size of 50 GiB.

You can set any size that you want as long as it is bigger than the current size.

Resizing Storage

To resize the volume of the Windows Drive on AWS you can follow the steps below. Continue reading Resizing Storage Volume for AWS EC2 Windows without Restarts/Downtime

AWS Lambda Console: Accessing Environment Variables via Python

Editing configuration values inside the code is a high risk for error since there is a high chance that not only the values that you are changing you will change, you might even delete a letter or edit a line. In order to avoid this risk, you want your code to be able to accept configuration values at run time. This is extremely useful when developing codes on different environments like development, testing and production.

With AWS Lambda you can reuse your code on different environments using the Environment Variables.

Below is the way to use Environment Variables on AWS Lambda Console using Python 3.6.

Note: This is the same way to use Environment Variables on Python 2.7 and Python 3.7.

Environment Variables Setup

The Environment Variables section can be found under the Function Code section.

Environment Variables are Key/Value Pairs. The Key is what you will use on your Lambda Code, to access its Value. Continue reading AWS Lambda Console: Accessing Environment Variables via Python

Making an Off-Screen Window Appear in Windows 10

When opening a program in Windows, sometimes it would open itself in a position outside of the screen. Right-clicking the program on the taskbar does not work. Trying to move it to a new desktop is also futile. Using window key+arrow keys is also not making it appear. What to do then?

Below is a way to make the off-screen window appear again.

  1. Click the off-screen program icon on the Windows Taskbar to make it the active window.

    I selected Powerpoint as my active window (highlighted).

    Continue reading Making an Off-Screen Window Appear in Windows 10

Showing “Open with Atom” when right clicking File or Folder in Windows 10

When right clicking on the File or Folder in Windows Explorer, the context menu will not show “Open with Atom” as an option. Because of this a user would need to open Atom Text Editor then Add Project Folder to see the Folder Tree on the side bar. Quite a lot of steps really.

Having a “Open with Atom” would be a time saving feature.

Context Menu for Folders


Context Menu for Files

The Context Menu is the menu that you can see every time you right-click a file or folder in Windows Explorer or Windows Desktop.

Is there a way to add “Open with Atom” on the context menu when you right click on a file or folder?

Yes, there is. Follow the instructions below. Continue reading Showing “Open with Atom” when right clicking File or Folder in Windows 10

How to Format an SD Card after using it on a Raspberry Pi (Windows Disk Management)

Whenever you install a Raspberry Pi Operating System (Raspbian, Ubuntu Mint, etc.) on an SD Card you will get two drives. One is formatted in FAT32 and the other in Linux Filesystem Format.

On the photo above here the SD card has 2 drives. E: and F:.

E: FAT32 42.4 MB Max Size
F: Linux File System ????

Note: There is actually a way to know what specific file system and how big it is for the Drive F:. I am avoiding it on this post as it would complicate matters.

Note: You may get a different drive for your SD Cards with Raspberry Pi OS when you insert them on Windows.

You can read more about SD Card Disk Partitions when using it for a Rasberry Pi here.

Now when you want to use an SD Card back to like using it on your Android Phone or camera, you just cannot use it by simply inserting it on the SD Card slot and turning on your gadget. You have to properly format the SD Card.

Note: If this method does not work for you, I will be writing another method for Windows, Mac and Linux systems in the future.


If you format separately the two drives (E: and F:), you will end up with two drives instead of one that has the full capacity of the SD Card.

Continue reading How to Format an SD Card after using it on a Raspberry Pi (Windows Disk Management)

Arduino Uno Schmitt Trigger Voltage Logic Levels

I wanted to know the Schmitt Trigger Voltage Logic Levels for the Arduino Uno since I want to know on what voltage would the digital input pin detect a logic high or a logic low.

I know that the Arduino Uno uses the ATmega328 with a 5V as its voltage supply. I checked the ATmega328 specification sheet and since it was too long to read (TL;DR), I would rather check using a Signal Generator and an Oscilloscope.

The Setup

Here is the list of equipment that I used for doing this experiment

  • Arduino Uno powered via USB port
  • Laptop (Windows)
  • 2-Channel Oscilloscope (PicoScope)
  • Signal Generator

Continue reading Arduino Uno Schmitt Trigger Voltage Logic Levels

How to use Synergy on Raspberry Pi

I have always used Synergy when using multiple computers since I do not want to use a lot of hardware (mouse and keyboard) to control all my unit. When I first received a Raspberry Pi the first thing I did was make Synergy work.

Here is the configuration that I use when working with Raspberry Pi.

  • Client – Raspberry Pi (to be controlled)
  • Server – Laptop where the mouse and keyboard will be used (Windows/Mac)

Screenshot of Synergy on a Windows computer.

1. Installing Synergy on Raspbian

Open the terminal and run the code below.

sudo apt-get install synergy

This will install Synergy on the Raspberry Pi along with its dependencies.

Continue reading How to use Synergy on Raspberry Pi

How to use C++ Classes in Arduino IDE without creating a Library

If you looked inside an Arduino Library you would see filename extensions such as .h and .cpp, which makes us conclude that the Arduino IDE uses C++ for its codes. If you look inside those files most of the Arduino Libraries have C++ classes inside of them. The question now is: Can you use C++ Classes in Arduino IDE without Creating a Library?

The answer to that is YES!

It is a bit tricky as there are rules you need to follow. I shall dive into that later.

Sample Code

Below is a short Arduino Code with a C++ Class without using a Library.

#define PIN_LED1 3
#define PIN_LED2 4
#define PIN_LED3 5
#define PIN_LED4 6

class Blinker {
    byte pinLED;

    boolean ledState = LOW;

    unsigned long timeLedOn;
    unsigned long timeLedOff;

    unsigned long nextChangeTime = 0;

    Blinker(byte pinLED, unsigned long timeLedOn, unsigned long timeLedOff) {
      this->pinLED = pinLED;
      this->timeLedOn = timeLedOn;
      this->timeLedOff = timeLedOff;

      pinMode(pinLED, OUTPUT);

    // Checks whether it is time to turn on or off the LED.
    void check() {
      unsigned long currentTime = millis();

      if(currentTime >= nextChangeTime) {

        if(ledState) {
          // LED is currently turned On. Turn Off LED.
          ledState = LOW;
          nextChangeTime = currentTime + timeLedOff;
          // LED is currently turned Off. Turn On LED.
          ledState = HIGH;
          nextChangeTime = currentTime + timeLedOn;

        digitalWrite(pinLED, ledState);

Blinker blink1 = Blinker(PIN_LED1, 500, 500);
Blinker blink2 = Blinker(PIN_LED2, 1000, 1000);
Blinker blink3 = Blinker(PIN_LED3, 2000, 2000);
Blinker blink4 = Blinker(PIN_LED4, 1000, 2000);

void setup() {


void loop() {

Okay, I admit that was not very short. At least you can see that I have used a C++ Class without creating a library. You can compile it in your Arduino IDE if you still do not believe me. You can see the Circuit Diagram somewhere below, there is also a Fritzing Diagram if you want to seriously test it.

You can check the code in my Github here.

Continue reading How to use C++ Classes in Arduino IDE without creating a Library