Transferring files between computers can be a pain. FTP is somewhat clunky and old, and using online services isn't direct and is less than ideal for handling sensitive files. Git works well for code and text, but isn't the best for binary files and requires a repository to be configured. So, what's a good solution for sending files directly between computers? SFTP.
SFTP is a secure file transfer protocol that makes use of SSH to send files between computers. It is encrypted and direct. It allows you to use an existing service to send files, thereby reducing your attack surface, and it eliminates the need to rely on potentially vulnerable passwords for file transfers.
SSH is in essential tool for any Linux user, but many people aren't making the most of its robust capabilities, namely secure logins with keys.
SSH key pairs allow you to login much more securely by limiting logins to only those computers that possess an encrypted key that has been paired with the login target. Unlike passwords, these keys can't be guessed, so there's no need to worry about someone trying thousands of passwords to break into your computer or server. No key equals no access.
The good news is; these keys are very easy to set up and use, so you don't have to worry about maintaining configurations or wading through a long setup process.
For anyone looking to protect their privacy online, Tor is an invaluable tool. It is both one of the most reliable ways to hide your identity and one of the easiest to use.
There are multiple different ways to use Tor, but the simplest and quickest is the Tor Browser bundle. It is a self-contained Tor installation coupled with a specially configured Firefox installation designed to get you up an running with as few hassles and as little configuration as possible.
Despite its out-of-the-box nature, there are also some configuration changes and additions that you can make to further improve the capabilities of the Browser Bundle.
Inheritance is yet another key concept in Object Oriented Programming, and it plays a vital role in building classes. It allows a class to be based off on an existing one.
When you first started writing Python classes, you were told to just put "Object" in the parenthesis of the class definition and not think too much about it. Well, now's the time to start thinking about it.
"Object" is actually the base class that all Python classes inherit from. It defines a basic set of functionality that all Python classes should have. By inheriting from it when you create a new class, you ensure that that class has that basic functionality.
In short, inheritance is a nice way of categorizing classes and making sure that you don't needlessly repeat yourself.