Skip to main content

a billion is big!

I just finished quashing a bug that gave me the run down for the last two hours, as is usually the case it derived from recently changed code. The cause of the bug was my omission of a line of code that initializes an important value to a non zero integer. I added the line and voila it worked great. Along the way I was looking at the database table column values and thinking about the number of unique values that a chosen database (testing on MySql currently) can provide an integer before it goes screwy (this is a major flaw of databases that I wish the vendors would get around solving, it should not be something for the db user to ever worry about..but that is fodder for another post). I don't know the actual max value for a standard MySql "integer" off hand but I am sure it is larger than a billion. (Just googled it, it is a range of about 5 billion centered around 0) Just for no reason I wanted to get an idea of just how big a billion is(I've done it before but I am bored and maybe you haven't thought about..*grin* ), so I wondered , how long would it take for me to count to a billion if I counted one integer per second?

Answer courtesy of the windows calculator:

1,000,000,000 seconds

= 1,000,000,000 seconds / 60 seconds = 16666666.66666666 minutes

= 16666666.66666 minutes / 60 minutes = 277777.777777 hours

= 277777.777777 hours / 24 hours = 11,574.07407 days

= 11574 days / 364.25 days = 31.77508 years!!

..and that is just a billion. So a billion seconds ago it was 1976, amazing. Like I said, a billion is big, now think of all those bits on your 30 gig (billion) music player! It's a wonder you don't grow old waiting to play the music that is on it. ;)


Popular posts from this blog

Highly targeted Cpg vaccine immunotherapy for a range of cancer


This will surely go down as a seminal advance in cancer therapy. It reads like magic:

So this new approach looks for the specific proteins that are associated with a given tumors resistance to attack by the body's T cells, it then adjusts those T cells to be hyper sensitive to the specific oncogenic proteins targeted. These cells become essentially The Terminator​ T cells in the specific tumor AND have the multiplied effect of traveling along the immune pathway of spreading that the cancer many have metastasized. This is huge squared because it means you can essentially use targeting one tumor to identify and eliminate distal tumors that you many not even realize exist.

This allows the therapy for treating cancer to, for the first time; end the "wack a mole" problem that has frustrated traditional shot gun methods of treatment involving radiation and chemotherapy ...which by their nature unfortunately damage parts of the body that are not cancer laden but …

Engineers versus Programmers

I have found as more non formally trained people enter the coding space, the quality of code that results varies in an interesting way.

The formalities of learning to code in a structured course at University involve often strong focus on "correctness" and efficiency in the form of big O representations for the algorithms created.

Much less focus tends to be placed on what I'll call practical programming, which is the type of code that engineers (note I didn't use "programmers" on purpose) must learn to write.

Programmers are what Universities create, students that can take a defined development environment and within in write an algorithm for computing some sequence or traversing a tree or encoding and decoding a string. Efficiency and invariant rules are guiding development missions. Execution time for creating the solution is often a week or more depending on the professor and their style of teaching code and giving out problems. This type of coding is devo…

AgilEntity Architecture: Action Oriented Workflow

Permissions, fine grained versus management headache
The usual method for determining which users can perform a given function on a given object in a managed system, employs providing those Users with specific access rights via the use of permissions. Often these permissions are also able to be granted to collections called Groups, to which Users are added. The combination of Permissions and Groups provides the ability to provide as atomic a dissemination of rights across the User space as possible. However, this granularity comes at the price of reduced efficiency for managing the created permissions and more importantly the Groups that collect Users designated to perform sets of actions. Essentially the Groups serve as access control lists in many systems, which for the variable and often changing environment of business applications means a need to constantly update the ACL’s (groups) in order to add or remove individuals based on their ability to perform certain actions. Also, the…