ZSH Configure

ZSH Configure
oh my zsh project licensed under MIT License.

In this post, we will see how can change our default shell from bash to zsh. Zsh is a shell designed for interactive use, and can offer features that bash does not have, or it is difficult to implement and add.

Some of these features are: Auto Correction, Syntax Highlighting, Autosuggestions, and many more.

These features can be come even more easier to add, if we use a framework for zsh, like Oh My Zsh. Oh My Zsh is a delightful, open source, community-driven framework for managing your Zsh configuration. Oh My Zsh makes it easier to add new features with the bundled plugins that you can enable by editing a single line. You can also easily install external plugins that are provided by the community. Also, Oh My Zsh comes with over 150 available themes, that can change the way you look at your terminal.

Read more →

SFTP Server Configure

SFTP Server Configure
Icon made by Alexiuz AS from icon-icons.

In this post, we will see how we can use SFTP (Secure File Transfer Protocol) on our Ubuntu Server as a more secure protocol for FTP, in order to transfer files between the server and other clients.

SFTP uses SSH in order to transfer files, so it means the connection is encrypted and as safe as an SSH connection. In order to use it the only thing we need is an OpenSSH server installed and running. If you are using SSH to access your server, this is probably already done.

Read more →

FTP Server Configure

FTP Server Configure
Icon made by Freepik from flaticon.com.

In this post, we will see how we can install an FTP server on our Ubuntu Server in order to transfer files between the server and other clients.

We will use the vsftpd service, to create the FTP server and we will access it either as a new ftpuser authenticated user or Anonymously without authentication.

If you are going to use the FTP service remotely on the public internet, it is best to not use Anonymous FTP, as anyone will be able to download from the server. Also, another and safer option is to use SFTP for remote transferring file that uses SSH, but for local network transfers a normal FTP service will be fine.

Read more →

SSH Server & SSH Keys & UFW Configure

SSH Server & SSH Keys & UFW Configure
By Source, Fair use, Wikipedia Commons.

In this post, we will see how we can install an SSH server on our Ubuntu Server in order to access it remotely, either from the Local Network or via the internet. We will also see the setting required to make the SSH service more secure for accessing through the public internet.

The following guide assumes that we have a server running in our home, on our local network, but the same can apply to a remote server running on a VPS service (like Digital Ocean, AWS, Linode, …). The only major change, is that if you a have a public server, you do not need to set any port forwarding as this applies only to home users.

Read more →

Static IP Server Configure

Static IP Server Configure
Screenshot of netplan network configuration YAML file.

In this post, we will see how we can set a static IP address on our Linux server, specifically an Ubuntu Server (Version > 17.10).

Ubuntu now uses Netplan as the default network management tool to replace the old configuration file /etc/network/interfaces that we can still find in other Linux Distributions.

Network Interface

First we need to find the network interface name that we are connected, we can do that with ifconfig:

Read more →

Building a Chip-8 emulator used by 8-bit microcomputers

Building a Chip-8 emulator used by 8-bit microcomputers
A screenshot of the CHIP-8 emulator running Space Invaders.

About

This is an emulator (interpreter more accurately) for the CHIP-8, an interpreted programming language, developed by Joseph Weisbecker and used on 8-bit microcomputers in the mid-1970s.

Example: Pong on the CHIP-8 emulator

pong on chip-8 emulator

It was implemented as a side project to understand better a systems architecture, by implementing every assembly instruction in code. Chip-8 is a very simple 8-bit microcomputer, with a small but complete set of instructions (only 35 opcodes).

Read more →