What is a block index in blockchain.info?

On blockchain’s blockchain api documentation, located here

https://blockchain.info/api/blockchain_api

There is an api call that uses a parameter called block_index. What is this value, and how does it differ from block_height? From playing around with changing the block_index value in the following api call:

https://blockchain.info/block-index/$block_index?format=json

It seems like (imo quite arbitrarily, which adds to my confusion) that block_index 14849 corresponds to the genesis block. Finally, on the api page listed at the top the first example output they show gives a block whose index is 818044, yet when I enter the following api call into my browser’s address bar:

https://blockchain.info/block-index/818044?format=json

I get “Block Not Found”. Is this just a bug in blockchain.info that the example output they provide doesn’t actually work, or am I using block_index incorrectly?

How to generate a bulk wallet offline with python, java or c++?

I want to generate, say 100000 key pairs (address/private key). It should be done offline, without using websites/javascript , with a program on the command line. Of course, the software should use the best way to generate randomness. There is such function on https://www.bitaddress.org , but it’s javascript and is not easy to be used by scripts on the command line. Do you know of such software?