Archive for August 2011

ADVANCE BATTERY STORAGE

August 26, 2011

01-EESTOR-Barium titanate Batteries-advanced battery storing technology-Ultra capacitor technology

For decades, battery storage technology has been a heavy weight on the back of scientific innovation. From cell phones to electric vehicles, our technological capabilities always seem to be several steps ahead of our ability to power them. Several promising new technologies are currently under development to help power the 21st century, but one small start-up looks especially well positioned to transform the way we think about energy storage.

01-barium_titanate_semi conductor-BaTiO3-Advanced Battery technology



Texas-based EEStor, Inc. is not exactly proposing a new battery, since no chemicals are used in its design. The technology is based on the idea of a solid state ultra capacitor, but cannot be accurately described in these terms either. Ultra capacitors have an advantage over electrochemical batteries (i.e. lithium-ion technology) in that they can absorb and release a charge virtually instantaneously while undergoing virtually no deterioration. Batteries trump ultra capacitors in their ability to store much larger amounts of energy at a given time.

EEStor’s take on the ultra capacitor — called the Electrical Energy Storage Unit, or EESU — combines the best of both worlds. The advance is based on a barium-titanate insulator claimed to increase the specific energy of the unit far beyond that achievable with today’s ultra capacitor technology. It is claimed that this new advance allows for a specific energy of about 280 watts per kilogram — more than double that of the most advanced lithium-ion technology and a whopping ten times that of lead-acid batteries. This could translate into an electric vehicle capable of traveling up to 500 miles on a five minute charge, compared with current battery technology which offers an average 50-100 mile range on an overnight charge. As if that weren’t enough, the company claims they will be able to mass-produce the units at a fraction the cost of traditional batteries.

“It’s a paradigm shift,” said Ian Clifford of ZENN Motor Co., an early investor and exclusive rights-holder for use of the technology in electric cars. “The Achilles’ heel to the electric car industry has been energy storage. By all rights, this would make internal combustion engines unnecessary.”

But this small electric car company isn’t the only organization banking on the new technology. Lockheed-Martin, the world’s largest defense contractor, has also signed on with EEStor for use of the technology in military applications. Kleiner Perkins Caufield & Byers, a venture capital investment firm who counts Google and Amazon among their early-stage successes, has also invested heavily in the company.

manufacturing-processes-and-materials-exercises

August 26, 2011

manufacturing-processes-and-materials-exercises

Sum it Up

August 24, 2011

Problem: you are given a sequence of numbers from 1 to n-1 with one of the numbers repeating only once. (example: 1 2 3 3 4 5). how can you find the repeating number? what if i give you the constraint that you can’t use a dynamic amount of memory (i.e. the amount of memory you use can’t be related to n)?
what if there are two repeating numbers (and the same memory constraint?)

Solution

as a programmer, my first answer to this problem would be make a bit vector of size n, and every time you see the number, set its correspond index bit to 1. if the bit is already set, then that’s the repeater. since there were no constraints in the question, this is an ok answer. its good because it makes sense if you draw it for someone, whether they are a programmer, mathemetician, or just your grandpa. its not the most efficient answer though.

now, if i add the constraint that you can only use a fixed amount of memory (i.e. not determined by n) and it must run in O(n) time… how do we solve it. adding all the numbers up from 1 to n-1 would give us a distinct sum. subtracting the total sum of all the numbers from the sum of n to n-1 ( which is (n)(n-1)/2 ) would give us the secret extra number.

what if you can only use a fixed amount of memory, and TWO of the numbers are repeated? we know that the numbers have a distinct sum, and the difference would be equal to the sum of our unknowns
c = a + b
where c is the sum and a and b are the unknowns – c is a constant
if we had another similar formula we could solve the two unknown equations. my first thought was that the numbers would have a distinct product – (n-1)!
if we divide the total product by the (n-1)! product, we would get another equation
c2 = ab
we could then solve the two equations to get them into quadratic formula notation
0 = ax^2 + bx + c
and solve for the two values of x. this answer is correct but factorial grows really fast.

some sort of sum would be better. the sum of the squares from n-1 to 1 would work. that would yield a function of the form
c2 = a^2 + b^2
which could also be solved by using the quadratic equation.

i think its fine to remind someone of the quadratic equation… (maybe only because i myself had to look it up to solve the problem) i mean really though, the last time i used it was probably in 10th grade. as long as they get the idea that given two unknowns and two equations you can solve for the unknowns – thats the point.

Palindromes

August 24, 2011

Problem: this year on October 2, 2001, the date in MMDDYYYY format will be a palindrome (same forwards as backwards).
10/02/2001
when was the last date that this occurred on? (see if you can do it in your head!)

Solution:we know the year has to be less than 2001 since we already have the palindrome for 10/02. it can’t be any year in 1900 because that would result in a day of 91. same for 1800 down to 1400. it could be a year in 1300 because that would be the 31st day. so whats the latest year in 1300 that would make a month? at first i thought it would be 1321, since that would give us the 12th month, but we have to remember that we want the maximum YEAR in the 1300 century with a valid month, which would actually be 1390, since 09/31 is a valid date.

but of course, a question like this wouldn’t be complete without anaha factor. and of course, there are not 31 days in september, only 30. so we have to go back to august 08 which means the correct date would be 08/31/1380.

palindromes also offer another great string question.
write a function that tests for palindromes
bool isPalindrome( char* pStr )

if you start a pointer at the beginning and the end of the string and keep comparing characters while moving the pointers closer together, you can test if the string is the same forwards and backwards. notice that the pointers only have to travel to the middle, not all the way to the other end (to reduce redundancy).

bool isPalindrome( char* pStr )
{
  if ( pStr == NULL )
   return false;
 
  char* pEnd = pStr;
  while ( *pEnd != '' )
    pEnd++;
 
  pEnd--;
 
  while(pEnd > pStr)
  {
    if ( *pEnd != *pStr )
      return false;
 
    pEnd--;
    pStr++;
  }
 
  return true;
}