Reversing a List in Python

Sometimes we need to reverse the order of the elements in a Python list. While there can be many different ways of implementing this task, I found three in particular that I appreciate for different reasons. Let’s define first a list of integers that we will reverse later.

List slicing

This method can be a bit obscure at first read, but basically it slices the whole list proceding in the reverse order:

Reversed method

We use the reversed method that returns an iterable object and a list comprehension to generate the new list

Swapping values in place

This last method is more verbose and it basically divides the list in two parts and swaps the first with sixth, the second with fifth, etc…

 

How to configure EncFS on OSX 10.10 (Yosemite)

With EncFS it’s possible to keep our data in almost any cloud (Dropbox, OneDrive, etc…), having a good level of privacy and security. Infact EncFS encrypt and decrypt our data automatically. It’s available for Linux as well and using a commercial solution (that is currently unsupported) even on Windows.

Installing EncFS

EncFS can be installed from brew. If you don’t have brew package manager installed on OSX you can install it using this command:

After brew, you need to install OSXFuse from this website http://osxfuse.github.io

Finally you can install encfs using this command:

Configuring the encrypted folder

Now that EncFS is installed, you can either mount an existing EncFS volume or create a new one. In both cases the command is the same:

If you are mounting an existing encrypted volume, you will be prompted for the password. If you are creating a new encrypted volume you will be asked some questions about EncFS parameters.

Note: if it’s important for you to keep compatibility with BoxCryptor Classic (in case you want to use the same volume under Windows), please refer to this other article I wrote: https://www.andreagrandi.it/2014/09/12/create-an-encfs-volume-compatible-with-boxcryptor-classic/

Mount the encrypted volume on startup

First of all you need to save the volume’s password inside the OSX keychain. Open the app Keychain Access and create a new entry with name encfs and account value encfs, then write your password and click Add:

encfs_keychain_access

Once the password is saved, open a text editor and paste this script and save it as encfs_mount.sh inside your $HOME folder:

Make it executable:

Open AppleScript editor and paste this text inside and save as an app in the $HOME folder:

Screenshot 2015-10-11 19.27.14

Finally, open “System Preferences” -> “Users & Groups” and add the previously saved application.

Screenshot 2015-10-11 19.27.44

Final notes

At this point encfs is configured to be mounted at startup and to save the encrypted files inside Dropbox. Please note: do not save anything directly on ~/Dropbox/Private, only read and save your files from ~/Private

References