Thursday, October 29, 2009

When Will We Have Enough Computing Power?

DNA rendering
Originally uploaded by ynse
At the last Java User's Group meeting here in Austin, Gary Frost mentioned that if he took his $300 Gateway computer with its $300 graphics card back in time 6 years, his computer would be in the top ten fastest super computers in the world. Which got me thinking, "How fast do computers need to get?".
Well obviously a lot faster. I'll be happy when computers can do either of the following (I'm not picky):
1. Store every person's DNA and their medical history. That's 3 billion base pairs per person times almost 7 billion people gives 2.1 × 10^19 base pairs or about a Zettabyte. Then compare and contrast every person's DNA with their illnesses with everyone else and produce a report showing which diseases are related to which DNA differences. For example, asthma could be related to any of 307 combinations of 24 genes being different. Then we should be able to design drugs to compensate for the "defective" genes, or perhaps tweak those genes with a small bit of DNA from a friendly virus.
Storing a Zettabyte seems reasonably straightforward, diff'ing all the genes will take enormous computing power- but that's the power we need.
2. Predict the future health issues of a fertilized human egg based on its DNA. We would need the power to replicate division of all the cells grow the egg into an adult and simulate the running of the biology in each cell and predict the health issues.

Tuesday, October 27, 2009

Austin Java Users Group

Random Notes from the meeting (entered via my shiny new IPhone):
Big Mike is starting a Certification group.
Gary Frost from Amd talked about OpenCL, the Open Computing Language. This provides binding to Java via C for running parallel operations on Graphics Processing Units. Gary's demo showed the n-body problem being accelerated by using the GPU to do calculations, while the GPU was also updating the screen.
The demo was very impressive, but the OpenCL seemed a bit clunky. I think the masses of programmers will need a much smarter compiler to inspect the java code and imply what the GPU can do in paralle.

The second part of the meeting Deb Ayers talked about Oracle's Enterprise Service Bus (ESB). She said ESB is a natural progression from client Server. Many of her clients don't use soap, just Plain Old XML (POX) over http.
For a dozen services you don't need an ESB, but some Telcos have hundreds of services and need an ESB.

Monday, October 26, 2009

Xeno's Paradox and Software Delivery

Originally uploaded by Jennifurr-Jinx
The ancient Greek philosopher Zeno of Elea composed a paradox to support his teacher, Parmenides's view of motion and change in the universe. His story is about a race between Achilles and a turtle. The turtle gets a small head start, but before Achilles can overtake the turtle, he must catchup with the turtle. Once Achilles has caught up, the turtle has moved forward, so Achilles must move a little further to where the turtle is now. But by now the turtle is ahead and Achilles must again catchup etc... so Achilles never really reaches the turtle.

I've noticed this same phenomenon in software development with regard to last minute features being requested to be thrown into the release. With three days to go before release, we get a small 4-hour feature request to be added. Then two days before the release another smaller item - really tiny, wouldn't take much effort at all - just two hours. One day to go, and another almost infinitesimally small item to be added - it will just delay the release by one hour and it's really needed.
In Zeno's world, the software will never get released.

Wednesday, October 07, 2009

Messa_e to L_ke Sky__lker

Messa_e to L_ke Sky__lker
Originally uploaded by Stéfan
OK, I couldn't resist one more.

Dough you mind?

Dough you mind?
Originally uploaded by Stéfan
I just ran into this photo set of miniature storm troppers and thought they were the funniest thing since Chad Vader sang 'Chocolate Rain'.

Tuesday, October 06, 2009

Excel: sumif - using a SQL where clause in Excel

While doing testing today I needed to add all the values in column F by "Male" and "Female". I learned the amazing "sumif" function.
The syntax is

SumIf( range to filter by, criteria to filter, sum_range to be filtered)

In my case the first argument was a range in column B, my filter was "Male", and the range to actual sum was in column F.


Since I was summing based on multiple items like "Male", I told Excel to use the column to the left to be my filter value.


The criteria can be things like ">10".