when i tried to revisit your site it show me this.

To allow use of this page to automatically repair database problems, please add the following line to your wp-config.php file. Once this line is added to your config, reload this page. define('WP_ALLOW_REPAIR', true);

one more suggestio if your databse login credentials is correct and there is no wrong invalid config in your configuration file and your database is Ok.
you could test your wibiste to your local machine, and you can play everything there, so you have more flexibility to find out what causing it.
as you mentioned above you still have access to your ftp and phpmyadmin, try to download it.

i think it could be an invalid authentication credentials in your db. just have a look in your wp-config.php file, the codes there is not that hard to understand.

yeah that is a bad thing to do on Li-ion, but it is recommended to do after 30 cycles or every 3 months. so do you still have a good battery reading.
as qouted from here howtogeek.com

In reality, you likely don't have to do this that often if you're not too worried about your laptop's battery readings being completely precise. However, if you don't calibrate your battery regularly, you may eventually find your laptop suddenly dying on you when you're using it -- without any prior warnings. When this happens, it's definitely time to calibrate the battery.

The key to calibration is allowing the battery to run from 100% to almost empty and then charging it all the way up to 100% again, which may not happen in normal use.

Thanks. backuppc was actually recommended to me by another very experienced Linux administrator after I told him I was planning on using rsync. It's at his house that I'll be keeping the pi2 + hdd. So why would backuppc be a bad choice? When I told the other guy I was planning on using rsync he said that I didn't need to use rsync because rsync was going to make a copy of my files and that I didn't need to make copies but that incremental backups would be better so he recommended I use backuppc, he then told be that backuppc uses rsync which did confuse me a little, why not just stick with my original plan and use rysnc then?

@rubberman
I assume it's about chemical reactions, so operators and equal sign and the lot don't matter. At least this is what I guess.
So A and the rest are not variables in a math expression, but placeholders for chemical compounds. I happened to like writing a parser myself now and then. In fact I posted 3 snipets here about the matter(in C#)

There are a ton of javascript tools / api's out there to do just about anything you want. Use PHP on the server and HTML/JS on the client. Use PHP to build up the output strings with HTML and JS and then send them in a single message to the client - much more efficient than the techniques many web developers use which have WAY too many back-and-forth conversations between client and server, resulting in really bad performance and latencies.

Quicksort (or qsort in C nomenclature) is an array-based sorting algorithm and a standard tool for every C/C++ compiler known. I used to use it for sorting linked lists, but the first thing you have to do is put the list elements in an array, create a compare() function, and then call qsort. After that, you walk through the array and rebuild the list. BTW, you you REALLY need to use a doubly-linked list? A singly-linked list with just pointers to next should be just fine. The end of the list is when you see that pNext is pointing to NULL (0 in C++ terms). For large lists, this method is MUCH faster than what you are doing, which is more of a bubblesort that a quicksort. The only downside is the memory needed for the array of pointers to list elements. IE, 1000 elements == 1000 x sizeof(void*), or on a 64bit system, approximately 8000 bytes - not much in truth! Your use of the pPrev pointer will take the same amount of space for 1000 elements... Only use a doubly-linked list if you REALLY have to traverse the list in a reverse direction.

Are these sorted arrays? If so, can't you use bsearch to find the position needed? And if you need to insert a new element, then use a modified bsearch algorithm that will return the insert position in a passed pointer or reference variable (depending upon whether you want a C or C++ method). IE, if the function returns NULL (not found), the insert position would be in the passed insert_posn variable. The signature for standard bsearch is void* bsearch(const void *key, const void *base, size_t nmemb, size_t size, int (*compar)(const void *, const void *));
The modified version could be:
void* posn_bsearch(const void *key, const void *base, size_t nmemb, size_t size, int (*compar)(const void *, const void *), size_t* insert_posn);
Since this is open source, making a modified version is trivial. I did it myself for sorted collection classes I wrote for the FACTORYworks MES system.

So, if you pass a NULL value for insert_posn, it can behave just like bsearch.

I don't do much programming in Java. But here's how I think about it, though it's bound to be off somewhere.

In Java each function is a class. It has a name, declaration, and a body. It is declared using public static void name of function(parameterList) followed by a function body. Each function can have a main() function so it can be run as an independent program, if desired.

In C++ functions can be independent from a class or they can be members of a class (when they are called methods). Functions/methods do NOT contain a main() function as in Java, and cannot be run idependently. They always need to be run as part a program, which can only have ONE main() function.

Now, I don't know enough Java to know if all functions need to be declared with the keywords public, static and void. The keywords, public and static, are only valid if the function is a method. The keyword public could be replaced by keyword(s) private (and protected ?). Now, I don't know enough Java to know if all functions need to be declared with the keywords public, static and void. In C++ the keyword , void, could be any valid type.

I think of Interfaces in Java as the "equivalent" of an Abstract Class in C++.

In the Java I've seen, the function body has always immediately followed the declaration. Whereas in C++, if the function is an independent function, the function needs to be declared before main(), but the definition (where the body of function appears) can before or after main(). If the function is declared before main() but defined after main() , then it is sometimes called a prototype. When the function is a method in a Class it is sometimes declared and defined when the Class is declared within the program where it is used, and sometimes it's declared in a header file, in which case it can be defined in the header class, too (if it's small, if it's inline, or if it's static); but it is usually defined in the .cpp file.

You may get other (better advice on the differences) from someone else, but this gives you a broad outlines of the similarities and differences.