General

What are bitcoins?

Bitcoins are the unit of currency of the Bitcoin system. A commonly used shorthand for this is “BTC” to refer to a price or amount (eg: “100 BTC”)
A Bitcoin isn't actually a 'thing' you can point at. It is just a number associated with a Bitcoin Address. See also an easy intro to bitcoin.

How are new Bitcoins created?

New coins are generated by a network node each time it finds the solution to a certain mathematical problem (i.e. creates a new block), which is difficult to perform and can demonstrate a proof of work. The reward for solving a block is automatically adjusted so that in the first 4 years of the Bitcoin network, 10,500,000 BTC will be created. The amount is halved each 4 years, so it will be 5,250,000 over years 4-8, 2,625,000 over years 8-12 and so on. Thus the total number of coins will approach 21,000,000 BTC over time.

In addition, built into the network is a system that attempts to allocate new coins in blocks about every 10 minutes, on average, somewhere on the network. As the number of people who attempt to generate these new coins changes, the difficulty of creating new coins changes. This happens in a manner that is agreed upon by the network as a whole, based upon the time taken to generate the previous 2016 blocks. The difficulty is therefore related to the average computing resources devoted to generate these new coins over the time it took to create these previous blocks. The likelihood of somebody "discovering" one of these blocks is based on the computer they are using compared to all of the computers also generating blocks on the network.

What's the current total amount of Bitcoins in existence?

The number of blocks times the coin value of a block is the number of coins in existence. The coin value of a block is 50 BTC for each of the first 210,000 blocks, 25 BTC for the next 210,000 blocks, then 12.5 BTC, 6.25 BTC and so on.

How divisible are Bitcoins?

Technically, a Bitcoin can be divided down to 8 decimals using existing data structures, so 0.00000001 BTC is the smallest amount currently possible. Discussions about and ideas for ways to provide for even smaller quantities of Bitcoins may be created in the future if the need for them ever arises. For convenience, the program currently accepts only 2 decimal places as quantities smaller than 0.01 BTC are considered of trivial value and are usually used only to attack the network.

How does the halving work when the number gets really small?

The reward will go from 0.00000001 BTC to 0. Then no more coins will likely be created.

The calculation is done as a right bitwise shift of a 64-bit signed integer. The integer is equal to the value in BTC * 100,000,000. This is how all Bitcoin balances/values are stored internally.

Keep in mind that using current rules this will take nearly 100 years before it becomes an issue and Bitcoins may change considerably before that happens.

How long will it take to generate all the coins?

Z
The last block that will generate coins will be block #6,929,999. This should be generated around year 2140. Then the total number of coins in circulation will remain static at 20,999,999.9769 BTC.

Even if the allowed precision is expanded from the current 8 decimals, the total BTC in circulation will always be slightly below 21 million (assuming everything else stays the same). For example, with 16 decimals of precision, the end total would be 20999999.999999999496 BTC.

If no more coins are going to be generated, will more blocks be created?

Absolutely! Even before the creation of coins ends, the use of transaction fees will likely make creating new blocks more valuable from the fees than the new coins being created. When coin generation ends, what will sustain the ability to use bitcoins will be these fees entirely. There will be blocks generated after block #6,929,999, assuming that people are still using Bitcoins at that time.

Networking

Do I need to configure my firewall to run bitcoin?

Bitcoin will connect to other nodes, usually on tcp port 8333. You will need to allow outgoing TCP connections to port 8333 if you want to allow your bitcoin client to connect to many nodes. Bitcoin will also try to connect to IRC (tcp port 6667) to meet other nodes to connect to.

If you want to restrict your firewall rules to a few ips and/or don't want to allow IRC connection, you can find stable nodes in the fallback nodes list.