Need a Linux Sever ?

So, you need a Linux Sever (VPS, VM or BOX)

In my case I always use the following Linux Server distributions:

Depending on my needs, but as iOS developer I use always the Ubuntu, so, I can install the Apple Swift, the most powerful developing language that I know, including for server side development.

Okay, this is my personal vision and opinion 🙂 

Now, let’s start the setup of the Linux Ubuntu Server 18.4 LTS (Long Term Support):

First step, perform the default Ubuntu Server installation and keep the server connect to the internet, and after, do follow the next steps:

In the process you have to create a user for perform the administration process without use the root user, so create the user that will be the system administrator and keep your password protected as also the username, to avoid security issues in the future.

Note: your Ubuntu Server (VPS, VM or BOX) needs to be connect to the internet to perform the following steps.

1, Update the installation, on terminal execute the following commands:

sudo apt update

sudo apt upgrade

Nota: this is a “just in” case action.

2, Enable the ssh service, if not enabled already:

sudo apt install ssh 

sudo systemctl enable sshd.service 

sudo systemctl start sshd.service 

OR

sudo systemctl restart sshd.service 

You can check ssh config, with the following command  

sudo nano /etc/ssh/sshd_config 

3, Enable the firewall, this is one of the most important steps:

sudo ufw enable 

Check is status, using the following command  

sudo ufw status 

4, Add the ssh service ports to the firewall, to allow the ssh access, if you don’t want to open the ssh access to your server don’t perform this step, you can access to the terminal using the cockpit project, that I’ll explain on the next step:

sudo ufw allow ssh 

sudo ufw allow OpenSSH 

Reload the firewall and check is status

sudo ufw reload

sudo ufw status

5, Install the cockpit project, this is a very cool way to manage you Server or Servers 

sudo apt install cockpit 

Add the cockpit port to the firewall

sudo ufw allow 9090/tcp

Reload the firewall and check is status

sudo ufw reload

sudo ufw status

Now you need to check your machine IP, and open the following url (https://machine_ip:9090/) on a machine using your favorite web browser.

6, If you open the ssh Port on your firewall, lets install fail2ban, one more important security measure. This will kick out attackers after 3(n) failed login attempts :

sudo apt install fail2ban 

Enable the fail2ban service, and restart it

sudo systemctl enable fail2ban 

sudo service fail2ban restart 

At this point you have a default and secure Ubuntu Server installation, and ready to be what have you need or want 🙂 

On the next post we’ll perform the necessary steps to setup an LAMP Server


MacBook Pro 2016 / 2017 known Issues

If you have a MacBook Pro 2016 / 2017 this are the most known Issues:

Keyboard

https://www.forbes.com/sites/ewanspence/2018/06/23/apple-macbook-pro-butterfly-keyboard-broken-free-repair/#51daf057cfea

https://www.apple.com/pt/support/keyboard-service-program-for-macbook-and-macbook-pro/

Bluetooth:  

https://www.forbes.com/sites/bradmoon/2017/07/13/this-trick-may-solve-your-mac-bluetooth-connectivity-issues/#43d89e755196

Singleton Classes that I don’t abdicate

Since I start developing for iOS, I have some singleton classes that I don’t abdicate in all my projects, because they are very useful and helpful.

The first one is the AppEnvironment, where I have some properties that help-me to perform some checks for the App.

The second one is the UserSettings, that is responsible for manage the App user settings.

Now that I have migrate the classes to swift, I have decide to share them.

Just one little advice, don’t abuse of Singleton classes, because they will compromise the application performance.

And some structs that I dont abdicate also

The first is the AppTheme, where I define all the necessary stuff for the user interface.

The second is the AppSettings, where I define all necessary constants for localization formatting and API configuration also.

Source code on GitHub

aInventarium : Is Up And Running

Organise your own inventory and benefit from keep it on your pocket.

An Home or Small Business Inventory platform, where you can organise your products by categories and Families.

You can benefit from permanent inventory in your pocket, where your can register all types of products (groceries, medication, furniture, electronic equipments…). Now, you only buy what you really need.

you can also provide to your insurance company a list of the items that you have at home.

And much more …

On Apple Store

Security !?

Security is the way we approach our daily life in front of a computer, smartphone, among others …, i.e. I still remember when I was a child, my parents always told me that I should not talk to Strangers, so from an early age I realized that I could not, and should not trust strangers, well, this also applies to our online lives. So, never, but never trust strangers, regardless of method and or means used – Web Site, email, app, phone contact …

Therefore, before you run an application, open a “Link”, respond to an “email” or a “chat” message, provide personal information by phone, always ask yourself “Can I or should I trust?”

There are a number of ways to check whether or not what we’re going to do is harmful, and some of them are at the distance from a phone call or even a search on one of the Internet search engines.

Regarding the OS issue (Windows, Linux, Mac, Android, iOS …), I thought that this issue was already outdated, because the choice is always a matter of necessity and or taste. But in truth, these two issues are connected, even in the business world. Today the companies computer parks are more and more hybrids, so, nothing can be ignored, even for those who create viruses, which are still a program / application / software.

Segurança !?

A segurança passa principalmente pela forma de como abordamos o nosso dia à dia em frente a um computador, smartphone, entre outros…, i.e. eu ainda me lembro de quando era criança, os meu pais sempre me disseram que não devia de falar com estranhos, logo, desde muito cedo eu depreendi que não podia nem devia de confiar em estranhos, ora bem, isto também se aplica na nossa vida “on-line”. Então, nunca, mas mesmo nunca confiem em estranhos, seja qual for o método ou meio utilizado – Web Site, email, app, contacto telefónico …

Por isso, antes de executar uma aplicação, abrir um “Link”, responder a um “email” ou a uma mensagem de “chat”, facultar informação pessoal telefonicamente, questione-se sempre “Será que posso ou devo de confiar?”

Existem várias maneiras de verificar se o que vamos fazer é ou não danoso, e algumas delas até estão à distancia de um telefonema ou mesmo de uma pesquisa, num dos motores de pesquisa na internet (o do vosso gosto é claro).

Relativamente à “issue” dos OS (Windows, Linux, Mac, Android, iOS …), pensei que esta questão já estava ultrapassada, pois a escolha é sempre uma questão de necessidade e ou de gosto. Mas, em boa verdade, estas duas questões estão interligadas, até mesmo no mundo empresarial. E actualmente os parques informáticos estão cada vez mais híbridos, logo, nada pode ser ignorado, mesmo para quem cria virus, os quais não deixam de ser um programa/aplicação/software.