Grive: What Is It?

Google Drive is a convenient place to store all your files, especially if you want to collaborate on them and share them with others. Although Drive is a handy way to store documents and other data, it has closed source code. Thankfully, there is now an open-source solution to this called Grive.

All About Grive

Grive is an open-source Linux client which you can use for Google Drive. If you have been looking for a Google Drive client to use on a GNU or Linux system, then Grive is what you can use. When you use this client, you will be able to synchronize all the files you currently have up on the “cloud” with your preferred directory and then upload files onto Google Drive. 

Since Google has never come out with a working Linux client to access Google Drive, some coders have taken it upon themselves to create an open-source command-line client to use on Linux systems. You will be able to upload and download files. 

To get started with Grive, you will have to download and then install it. Once you have done that, you are ready to start feeding it commands.

How to Use Grive

There are several different options you can use in Grive to perform many tasks you may want to execute. The following is a list of commands you can use within this client.

  • -a, --auth – Requests an authorization token from Google.
  • -d, --debug – Enables debugging messages.
  • --dry-run – Ensures that Grive only detects files which need to be uploaded or downloaded. You will not see any other changes.
  • -f, --force – Makes Grive download a file from Google Drive instead uploading it.
  • -h, --help – Generates a help message.
  • --ignore <perl_regexp> - Ignores files with paths that match the Perl Regular Expression.
  • -l <filename>, --log <filename> - Writes the log output to <filename>
  • --log-http <filename_prefix> - Logs every HTTP response within files using the format <filename_prefix>YYYY-MM-DD.HHMMSS.txt for debugging.
  • --new-rev – Creates updated revisions within the server for any updated files.
  • -p <root_path>, --path <root_path> - Sets the root sync directory to <root_path>
  • -s <subdir>, --dir <subdir> - Syncs one <subdir> subdirectory.
  • -v, --version – Displays the version of Grive you are using.
  • -V, --verbose – Runs Grive in verbose mode and generates more messages than you would usually receive.

Wrapping Up

You now know what the Grive client is and how to use it with Google Drive. There was a long time before Grive came along where you were unable to access Google Drive to upload and download files if you were on a Linux system. Thanks for some good-natured coders, we now have Grive. This command-line Linux client will always be free and open-source, following the GNU/Linux philosophy.

Do you have a Linux system and want to easily upload and download files using Google Drive? Head over to the Grive GitHub and download it today!

Featured Image via Pixabay

What Is Duplicati And Is It Worth My Time?

Duplicati is an open source online file backup solution that works with multiple operating systems.

Want more privacy with your backups?

Want to be freed from paying high monthly fees?

Read on.

What is Duplicati?

hand of a man pointing to a question mark

?Source: Pixabay

Duplicati is an open source backup solution that can be used to store your backups online in an encrypted, secure form.

The software is totally free, even for commercial usage, under the LGPL open source software license. The Duplicati backup software can be installed on the Windows, macOS, and Linux operating systems.

If you want more online backup options than just Dropbox and Google Drive, Duplicati may be for you. It can also work with existing cloud backup services like these.

As of this writing, Duplicati 2.0 is available in beta form. You can also download the previous version, 1.3.4, but it is not supported.

What Should You Be Backing Up Regularly?

hand of a woman working with a laptop

?Source: Pixabay

While it is ultimately up to you what files you want to save and delete, you should probably sit down and write out exactly what files are critical to save. You might just want to back up everything. Or, perhaps, you just want to focus on the essentials.

Important files might include historical versions of your job resume, family photographs in digital format, your favorite albums and MP3 playlists, digitized receipts, ebooks, PDF files, emails, and videos.

If you make backup copies of your DVDs for personal use, you might want to have an offline backup of those as well.

Or, on the other hand, you might think that they are not that important to save, as you can always repurchase the DVD if some catastrophe happened, and wasting time and disc space on the backup is not fully worth it for you.

Whatever you decide with your files, Duplicati can be used to manage them.

Why Should You Consider Using Duplicati?

hands of a woman with cellphone and laptop

?Source: Pixabay

You may already know from a terrible experience the value of backing up your files and hard drives. You do not want to lose copies of your precious personal photos or your extensive and rare MP3 music collection.

You could use a service such as Dropbox, that offers a free version as well as additional storage space for a subscription fee. But, we recommend you use Duplicati instead. Why?

1. Privacy

You may be concerned that commercial backup services are able to index and see what files you are backing up on their servers. Sure, they may promise that your files are private and secure, but is that the reality?

You don’t necessarily need to be worried about Microsoft or Google scanning your files for digital copyright violations.

But, for example, you might have private pictures of yourself or your lover that you don’t want floating around the general Internet, and you also want to have them saved away from your home computer.

If you are in total control over your backup process and files, then you don’t have to worry about your files being poured over by a backup file company.

2. Control and Customization

By using Duplicati, you can have total control over your online backups. You can choose where they are stored, what the backup schedule is, and which files are backed up.

If you want, you can set up a virtual server on a reliable, affordable webhost that is solely dedicated to backing up your files.

You can back up your files using Duplicati in numerous ways using the protocol and storage medium of your choice.

3. Cost Savings

Depending on how you ultimately set up Duplicati for your file backups, you could potentially save a lot of money.

Commercial file backup software is not necessarily that expensive, and some of the best for pay options can run from $39.95 to $99.95, with a middle price running around $49.95. And then you also have to check to see if these are one-time costs or a yearly subscription model, which more and more software companies have moved to.

Also, you are also looking at possible costs in terms of storage space if you use a service such as Dropbox.

You can potentially find cheap places to get disk space. Or, perhaps you already have disk space you would like to use more effectively.

Microsoft Office, for example, has some subscription packages that include terabytes of online storage space via Microsoft OneDrive. If you are already subscribing to Microsoft Office for your home business, then you might benefit from using Duplicati to back up files to OneDrive.

Some of the Great Features of Duplicati

top view of a table with clutter, laptops, and tablet

?Source: Pixabay

So, what exactly is Duplicati capable of? Here are some of the many features of this free, open source backup software:

1. Internet Connection Protocols

Let’s say you want to use Duplicati to backup files to an online web server that you also use for your small business website. You can connect Duplicati with FTP, SSH, and WebDAV, which leverages HTTP to “publish” files remotely.

2. Commercial Cloud Space

As we already mentioned, you can use Duplicati to upload backup files to Microsoft OneDrive and other commercial cloud storage space services such as Amazon Cloud Drive, Google Drive, hubiC, Mega, and box.com.

3. Built-In Encryption

Duplicati offers powerful built-in encryption options using AES-256 algorithms. GPG is also included as a method to encrypt your files when you back them up.

4. Space Saving Features

Duplicati can be configured to perform incremental backups as well as manage space through data deduplication.

5. Restoration of Interrupted Backups

You probably have experienced that high level of frustration when you are downloading a large file using the Google Chrome browser and your Internet connection fails temporarily. When a download is interrupted, you often have to start it all over again from scratch, which wastes time as well as bandwidth.

Duplicati is designed to easily resume interrupted backups with ease, and it also verifies backups to ensure that broken backups are detected and rectified.

6. Web-Based User Interface

You can manage your entire Duplicati backup system from a web browser. It will even work from a mobile smartphone browser.

A “headless machine” is one that doesn’t have a monitor, keyboard, or mouse attached for input. But you can manage a Duplicati system that is set up on such a machine through a web browser on another machine.

7. Backup Scheduling

No truly robust backup system can exist without good scheduling. Scheduling enables you to set specific times and days that backups are performed, such as every Tuesday morning at 3 am.

Without a schedule you would have to execute your backups manually, and that’s no fun, nor is it efficient.

Duplicati’s full-featured scheduler has many options to enable you to manage the times your backups run.

8. User Support Forum

Given that Duplicati is free software, you may not get the most amazing technical support from the company. However, an online support forum is available on the Duplicati website and it is extremely active. Most of the posts on the forum’s front page are 24 hours old or less.

Granted, a lot of the people who are active on the forums are more advanced technically, and this is not necessarily going to be that helpful for people who not well-versed in computers.

Potential Downsides of Using Duplicati for File Backup

Apple macbook on a table

?Source: Pixabay

As we already hinted at with the description of the user support forum, the people who use Duplicati tend to be more advanced users who may be developers or have system administration experience.

This means that if you are not comfortable really getting into a program and understanding it, Duplicati may possibly be too robust and feature-filled for your particular needs.

It is not uncommon for open source, free software to be geared a bit more towards the advanced user. You usually don’t get your hand held as much as you would with a commercial product.

For this reason, if you are a busy person who hates meddling around with computer code, you might choose to go with a commercial software solution instead, because it will make things simpler.

Yes, you will have fewer options, but you may be less confused. You may also get better technical support from the company.

Duplicati: A Great Open Source Backup Solution

two man shaking hands with laptop and papers

?Source: Pixabay

If you are looking for a totally free, open source backup solution to save copies of your files online, Duplicati is a great option.

Compatible with a variety of protocols and online storage services, Duplicati has a ton of customizable features that can make your life a lot easier. That is, provided that you are comfortable going through and configuring all these extra options.

Why pay for expensive backup software when an open source version exists? Try Duplicati today.

Problem Solved: How To Check Your Python Version

If you want to check the Python version on a Linux machine, it’s really not that hard.

Python is a great programming language to learn. It has simple syntax and yet it is also very powerful.

Having the latest version of the Python interpreter is a good idea. You don’t want to be using an old, out of date version, especially one that is deprecated.

How to Check Your Python Version

woman biting a pencil while working with the computer

?Source: Pixabay

So, let’s get to the nitty gritty. If you are running the Python interpreter on a Linux machine, here is what you need to do to check the Python version.

Some of these commands may also work on Windows machines using the Windows command line.

Command Line Python Version Check

Login as root, and from the command line, type:

python --version

(That is two dashes before the word “version.”)

If you are using Ubuntu, and can’t login as root, use the sudo command ahead of the text as follows:

sudo python --version

The shortcut to this is to use -V instead of --version, such as:

python -V

Or, in Ubuntu:

sudo python -V

You might also try a lowercase v, because it is by the way, an almost universal command on Linux to check the version of software running on the server. However, with Python, the uppercase V is what is in the user manual.

This can be confusing because so many other programs use a lowercase v.

For example, you can use the same command with php:

php -v

Or, in Ubuntu:

sudo php -v

However, sometimes, the name of the software is not so obvious. With the Apache web server, you would think that the command might be “apache -v” but this is wrong. To find the version of Apache running on your server, type this in instead:

httpd -v

Or, in Ubuntu:

sudo httpd -v

HTTPD stands for “HTTP Daemon,” which makes a bit more sense – this is the daemon (or server) that uses the HTTP protocol to deliver web pages.

At any rate, if you can remember the -v, and the lowercase version is not working, you now know to try an uppercase -V for checking the Python version.

You can also just type in “python” at the command line (or “sudo python” in Ubuntu). You will get not only the version you are running, but a lot more info, such as:

Python 2.7.5 (default, Jun 17 2014, 18:11:42)
[GCC 4.8.2 20140120 (Red Hat 4.8.2-16)] on linux2
Type “help”, “copyright”, “credits” or “license” for more information.

In some respects, this is just faster and easier, and gives you a lot more information about the entire platform.

Checking the Python Version from a Control Panel

Surprisingly, when you search for ways to check the Python version from an administrative interface or control panel such as WHM or Cpanel, not much comes up.

Your best bet is to use the search function from within the control panel to look up “Python.” From there, you might be able to see which version of Python is installed and running.

Checking the Version of Python from Within a Python Script

You may want to check the version of Python from within a Python script you are writing. Some of the reasons may be that you want to ensure compatibility with the Python interpreter, especially if the script is going to be run on different servers.

There is no one solution to this, as you can find various examples and ways to do this from within Python. It will also depend on which version of Python you are writing your programming script for.

You can check sites such as Stack Overflow, where developers can get into long and sometimes convoluted discussions on how best to do certain things with code.

In this Stack Overflow discussion about checking the Python version, you can find this potential solution for looking at the version from within a Python program:

# Method 1:

import sys
assert(sys.version_info >= (2,6))

?# Method 2:

import platform
from distutils.version import StrictVersion
assert(StrictVersion(platform.python_version()) >= "2.6")

?Note that this answer does not get as many votes as some of the solutions above. However, this answer was posted on November 16, 2017, making it a much more recent answer than the highest voted answer, which was originally posted in 2009.

This is why it is important to check the dates on Stack Overflow answers, because what is voted up the most may be due to its longevity on the website, when a more current answer with fewer votes may be the answer that works.


A Little Bit More About Python Versions

computer screen with programming codes

?Source: Pixabay

Python, like any living programming language, changes over time. As the team who maintains the code improves it and optimizes it, the syntax of the language may be modified.

Usually, these changes are not so overwhelming that you couldn’t understand a Python program from a different version. However, these changes could break your program or make it not work as expected.

Compatibility Between Python Versions

Python, like PHP, is an interpreted programming language. This means that Python is not compiled into an executable program before it is run.

Instead, it is “compiled on the fly” via the Python interpreter. Thus, the program will work until it hits up against some code that isn’t in compliance with the Python version the interpreter is using. Then, the program could hiccup, mess things up, or stop working entirely.

Usually, if you are using a Python version that is the same major version, but the interpreter has a different minor version, the hiccups will hopefully be minimal. However, if you are trying to run a Python program where the major version is different from the major version of the interpreter, it is often totally incompatible.

You especially have to pay attention any time a release is labeled as “backwards incompatible.” This means that it is totally not going to work with earlier versions of the software. Python 3.0 is backwards incompatible with Python 2.0.

However, some of the features of the 3.0 version of Python have been “backported” to Python versions 2.6 and 2.7 to make the code more compatible.

Major Versions vs. Minor Versions of Python

As with most programming languages and software applications, Python uses a numerical convention to distinguish between major and minor releases.

The major version is the number before the first period. The minor version is the number after the period, with an update to that minor version following the second period:

MajorVersionNumber.MinorVerson.MinorUpdate

Thus, 3.2.5 is major version 3, minor version 2.5.

Also, a “zero” indicates the general major version. All variations of Python 3 (Python 3.1.0 or 3.5.1) are part of Python 3.0. All variations of Python 2 are part of Python 2.0, etc.

Here is a list of all Python versions:

Python Beta Version

An initial version of Python was released in 1991. This was 0.9.0 and not a full number 1, as it was not ready for prime time yet. These versions were released on the following schedule:

  • Python 0.9.0 - February 20, 1991
  • Python 0.9.1 - February, 1991
  • Python 0.9.2 - Autumn, 1991
  • Python 0.9.4 - December 24, 1991
  • Python 0.9.5 - January 2, 1992
  • Python 0.9.6 - April 6, 1992
  • Python 0.9.8 - January 9, 1993
  • Python 0.9.9 - July 29, 1993

?Python 1.0

The first official version of Python was launched in 1994.

  • Python 1.0 - January 1994
  • Python 1.2 - April 10, 1995
  • Python 1.3 - October 12, 1995
  • Python 1.4 - October 25, 1996
  • Python 1.5 - December 31, 1997
  • Python 1.6 - September 5, 2000

??Python 2.0

Released in 2000, Python 2.0 not only offered a whole host of new features, but the new version was transitioned to a community-based, collaborative open source language.

  • Python 2.0 - October 16, 2000
  • Python 2.1 - April 15, 2001
  • Python 2.2 - December 21, 2001
  • Python 2.3 - July 29, 2003
  • Python 2.4 - November 30, 2004
  • Python 2.5 - September 19, 2006
  • Python 2.6 - October 1, 2008
  • Python 2.7 - July 4, 2010

?Python 3.0

Python 3.0 is also known as "Python 3000" or "Py3K," and it is the current major version of Python.

  • Python 3.0 - December 3, 2008
  • Python 3.1 - June 27, 2009
  • Python 3.2 - February 20, 2011
  • Python 3.3 - September 29, 2012
  • Python 3.4 - March 16, 2014
  • Python 3.5 - September 13, 2015
  • Python 3.6 - December 23, 2016
  • Python 3.7 - June 27, 2018

?Don’t Forget to Check Python Version

programming codes on a cellular phone

?Source: Pixabay

Checking the Python version is easy, just remember to do this once in a while – perhaps by placing a reminder on your calendar.

You will need to keep the Python interpreter up to date to benefit from the latest features of the ever-evolving and constantly improving Python coding language.

9 Best Free Themes for Bootstrap

Looking for a great, free Bootstrap theme that you can use as a jumping off point for your upcoming projects? Take a peek at this list of our top nine favorite (and free!!) themes built using the Bootstrap framework.

  1. Ninestars

Screen Shot 2017-03-09 at 1.59.43 PM

Ninestars is a free Bootstrap theme that’s both minimalist and professional in terms of design and vibe. It’s fully responsive and has a cool slide-out menu that utilizes CSS transitions.

2. Freelancer

Screen Shot 2017-03-09 at 2.01.23 PM

This is a cool theme that is perfect to use if you’re a freelancer looking for a nice, clean way to showcase your portfolio as a single page site. Includes a great set of flat icons.

3. Lightwave

Screen Shot 2017-03-09 at 2.06.26 PM

Lightwave is a fully responsive Bootstrap template that comes with six different style themes. Additionally, it’s really easy to customize to suit the needs of just about any project.

4. Basic

Screen Shot 2017-03-09 at 2.08.47 PM

Another great theme for people looking to create an online portfolio to showcase their work. It’s a 2 page theme that is fully responsive, has a minimalist, trendy design, that lets you keep it simple while communicating your skills.

5. Material Kit

Screen Shot 2017-03-09 at 2.17.46 PM

Material Kit is a free Boostrap UI kit that has restyled all of the basic Booststrap elements and comes with example pages that you can use as templates for your upcoming projects.

6. uButia

Screen Shot 2017-03-09 at 2.27.51 PM

uButia is a free Bootstrap template that would be great for any digital businesses looking for a new way to present themselves online. It’s easy to customize and comes installed with FontAwesome for all of your possible icon needs.

7. Elate

Screen Shot 2017-03-09 at 2.30.27 PM

Elate is another free and responsive portfolio template. It’s got a clean design, smooth scrolling and animation effects, and comes with four different style themes.

8. Umbrella

Screen Shot 2017-03-09 at 2.34.27 PM

Umbrella is a cool, bright, and colorful app that would be perfect for showcasing a product or service. Features include icons, a slider functionality, and responsiveness.

9. Hexa

Screen Shot 2017-03-09 at 2.37.37 PM

Hexa is a unique template that will accommodate 13 hexagonal images on the front page of your site. Perfect for photographers or designers who want to quickly give the user an idea of what they’re capable of. The template is fully responsive.

Optimize Images with Responsive Breakpoints Generator

Using one image for every possible viewpoint variation of a design (desktop, laptop, tablet, mobile, and all the non-standard browser window sizes in between) isn’t exactly ideal in terms of design and maintaining the image’s resolution. With the Responsive Breakpoints Generator, however, you can now use actual equations to tell your images when to break.

screen-shot-2016-11-01-at-1-36-58-pm

Instead of guessing or choosing arbitrary breakpoints for your images, you can use the Responsive Breakpoints Generator tool to come up with breakpoints that have been calculated based upon the original dimensions of your image at full size using the generator’s advanced algorithms.

screen-shot-2016-11-01-at-1-37-27-pm

The key to the algorithm being able to find suitable breakpoints is that it finds image width values and accompanying dimensions that offer reductions in file size. After the breakpoints have been created, the generator also provides you with an HTML img tag that lists all of the breakpoint values and the option of downloading a zip file with the original image sized down to all of the breakpoints.

screen-shot-2016-11-01-at-1-37-36-pm

This is a great tool to use, especially if you find yourself doing a lot of design or development for mobile. The tool is also open source, so you can use and/or modify it however you choose. Read more about how the algorithm works here.