When you have a domain, for example yourdomain.com, you can create your email address at that domain name like firstname.lastname@example.org. Several domain name records which I consider to be important for mail domain are:
1. MX Record
Of course, it assigns a domain where the mail exchange server is located. For example:
NamePriorityTypeDatayourdomain.com10MXmx.yourdomain.com 2. SPF Record
SPF is a spam and phishing scam fighting method which uses DNS SPF-records to define which hosts are permitted to send e-mails for a domain. See http://www.openspf.org. For example:
NameTypeDatayourdomain.comTXT"v=spf1 mx mx:yourdomain.com -all"
This configuration means emails sent from all servers defined in MX record of yourdomain.com are permitted by sender organization
3. DKIM Record
DKIM allows an organization to take responsibility for a message in a way that can be verified by a recipient.
DKIM defines a domain-level digital signature authentication framework for email through the use of pu…
ESP-01 board is different with NodeMCU DevKit (ESP-12E) board. It doesn't have USB support. You need a USB to TTL serial converter and certain circuit to switch the board between normal boot and flashing mode. You can buy a USB to TTL converter as cheap as $1 or you can utilize your current Arduino board.
First, I want to show my simple circuit using USB to TTL converter to flash ESP-01. I use Prolific USB to TTL. It's cheapest device you can get in the market. If you use this device on Windows operating system, you must check Device Manager and validate that the device isn't in error state. If it's error, you can use solution from HERE.
This following image shows the circuit for flashing ESP-01 using USB to TTL converter. I use external 3.3V supply because my Prolific can provide only 5V supply from USB and the current is too low.
If you are too lazy with push button and resistor you can use this following circuit.
In the second circuit you just need jumpers without …
Besides clascisal music, I also like heavy metal music. X Japan is one of the most famous heavy metal band from Japan. I like most of its music. Its tone is strong and brings me certain feeling.
One of their songs which makes me fell in love with X Japan was Kurenai.
X Japan was formed in 1982. At the beginning, I don't really care about its member. Recently, when I watched 2000s concert videos, I just realized that one of its member, the guitarist, who used to appear with his blooming red hair was missing. Now I know that the guitarist, Hide, 33 years old guy, was dead in 1998 because of suicide, based on police evidence.
X Japan had been disbanded in 1997 and Hide had started a solo carreer since then. While he still had certain project with another music group in 1998, he was found dead in his house. His dead was followed by copycat suicide of three of his fans.
In 2007, X Japan was reinvented and launched a new album. In 2008 concert, there was something touching. Hide was r…
SSH is a popular network protocol used to access remote computer through certain network or internet. OpenSSH is an application which provides SSH accesbility for a computer or server. Common method used to start a communication with SSH access is by providing username and password before secured connection is established. This method is not really safe because you provide credentials in plain text and transfer it through the network. It also makes any scumbag individuals to be easier to guess your password or perform brute force attack in order to gain your server access. There are several possible ways that I think can be used for hardening your SSH security. Disable root accessChange SSH port numberUtilize RSA authenticationDisable plain password login
Disable root access
1) Before you disable the root access, you need to make sure that there are another user account in your remote computer.
2) Create new user as needed. $ adduser youruser
3) Edit SSH configuration in /etc/ssh/ssh…
NodeMCU is popular firmware for ESP8266 WiFi SoC. When you buy a NodeMCU ESP8266 board, it must have been flashed with the firmware. But, you can also flash it anytime by yourself, for example when you want custom NodeMCU firmware. For complete documentation of NodeMCU you can see here. There are few steps to flash your board firmware. In this example, I use NodeMCU DevKit 1.0 with ESP-12E core which is easy to get in market. If you use ESP-01, you need to see my other post about the ESP-01 flashing circuit.
1. Build the firmware. The easiest way is building from the cloud, just follow the steps then the firmware will be sent to your email.
2. Install esptool.py. It is a python application to communicate with ESP ROM bootloader. You can install it either from python package manager using pip install esptool or download manually from github repository here. $ git clone https://github.com/espressif/esptool.git
There are several other tools that you can use to flash the firmware, for e…
Akhir-akhir ini saya sedang tertarik menonton film-film misteri, horor, atau thriller asia. Berikut ini beberapa film-film misteri asia terbaik yang saya rekomendasikan.
1. Audition (1999)
Sebuah film thriller yang cukup menyeramkan (sadis) khususnya pada bagian akhir film. Bagian awal film banyak menceritakan kehidupan tokoh utama yang membuat kita penasaran tentang apa yang akan terjadi selanjutnya dan misteri apa yang akan terkuak. Film ini mengisahkan seorang pengusaha sukses yang istrinya telah meninggal sejak lama dan meninggalkannya seorang anak. Setelah lama sendiri akhirnya dia memutuskan mencari seorang pendamping. Setelah ia menemukan seseorang yang ia percaya cocok untuk dirinya, hal yang menyeramkan terjadi.
2. Lesson of the Evil (2012)
Film ini adalah sebuah film thriller misteri yang menceritakan seorang guru SMA yang tampil sebagai seorang yang baik-baik namun ternyata menyimpan suatu misteri yang menyeramkan. Pada awal film kita akan melihat seorang guru yang melindungi…
A webcam can not be accessed by two or more applications simultaneously. The solution is you can duplicate the video stream and make it available for any application. In short, you create virtual webcam.
First, a webcam is commonly detected on /dev/video*. Before you go through the steps to duplicate video stream, you should check whether your webcam is working. You can try to capture video using VLC by this command. (For example, your webcam is on /dev/video0)
$ vlc v4l2:///dev/video0
If it doesn't work, you can try to change its mode to 0777 and make sure there's no other applications accessing it. If it still doesn't work, you can buy a new webcam. Seriously. Don't buy cheap and unknown-brand webcam. I have $5 webcam and it had wasted my time.
$ apt-get install ffmpeg linux-generic v4l2loopback-dkms
FFmpeg is main application that will access your webcam and duplicate its video stream. V4L2loopback is needed to create multiple virtual capture devices (loopback device…
Sometimes, your web application is installed in a web server which is behind reverse proxy server like Cloudflare or other services. In that condition, your application will always read the reverse proxy server IP as client IP. In Nginx, you can use ngx_http_realip_module to get the real client IP (see detail).
To enable this module, you need to make sure that you use latest Nginx server from repository or you can build it from source with --with-http_realip_module configuration parameter. I prefer to install it from repository as Nginx 1.10.0 in Ubuntu 16.04 has enabled this module by default. You can check whether it's enabled or not by following command.
$ nginx -V
Then, the reslut should be like:
$ nginx version: nginx/1.10.0 (Ubuntu) ... ... --with-http_realip_module ... ...
Now, you can put the module configuration in http block or server block of your Nginx configuration. For example, you use Cloudflare service for your web application. You should list all available Cloudfl…
If you want to setup a site with HTTPS, you need a valid SSL certificate from Certificate Authority (CA). Let's Encrypt is a CA that can provide you a free valid SSL certificate by requesting it using certain software. The software which is recommended by Let's Encrypt is Certbot. From the main page of Certbot site, you can choose what web server and operating system you use then it will show you the installation steps. For example, I use Nginx on Ubuntu 16.04.
$ sudo apt-get install software-properties-common
$ sudo add-apt-repository ppa:certbot/certbot
$ sudo apt-get update
$ sudo apt-get install python-certbot-nginx
$ certbot --nginx
Last command will get a certificate for you and have Certbot edit your Nginx configuration automatically to serve it. Sometimes, you may get error notes. It is about failure of integration process to existing web server configuration. It's not crucial cause you can integrate manually with simple steps. If you only want to get certificate…