Advanced Algorithm Analysis and Growth: More durable Than Many Suppose

An algorithm is a process or formulation for fixing an issue. For the needs of this text, a posh algorithm is outlined as an algorithm that embodies superior mathematical or logical strategies and requires at the least one thousand (1000) traces of the C/C++ programming language to implement. The time period C/C++ is used deliberately to mirror the fact that object-oriented strategies are of restricted use in advanced algorithms, though the algorithms are sometimes packaged inside an “object” for simple integration into functions.

Advanced algorithms are usually carried out as both pc software program or in customized VLSI chips (e.g. Software Particular Built-in Circuits or ASICs). Analysis and growth of advanced algorithms is a specialised space and differs in quite a lot of methods from most software program and {hardware} growth. Remarkably, many pc software program enterprise and engineering professionals usually underestimate or don’t perceive the difficulties and scope of advanced algorithm tasks.

Advanced algorithms are already in widespread use in business functions. Outstanding examples embody the video compression algorithms that allow BluRay, DVD Video, YouTube, and lots of different fashionable digital video programs. The US DVD Video market is round $25 billion per 12 months (2007). Though restricted, speech recognition reminiscent of now continuously encountered in phone assist and customer support programs is one other instance. Different examples embody encryption, seismic modeling utilized in oil and fuel exploration, refined monetary fashions, visitors fashions, and lots of others.

Advanced algorithms could remedy a variety of main issues confronting the human race together with main ailments reminiscent of most cancers, the necessity for extra and cheaper power, and so forth. Molecular modeling could allow the design of medication or programs of medication that may selectively goal and destroy most cancers cells primarily based on the figuring out traits of most cancers cells reminiscent of chromosomal anomalies, one thing at present not possible. Electromagnetic modeling software program could allow the profitable design and fabrication of working business fusion energy sources. These are potential trillion-dollar markets. The worldwide annual power market is over $1 Trillion.

Word: Since I’m a software program developer, I’ll focus totally on advanced algorithms developed and carried out as pc software program. Lots of my feedback apply equally effectively to {hardware} implementation. The place I’ve some data and expertise, I’ll make some feedback on particular {hardware} points.

Advanced Algorithms Are Troublesome

Advanced algorithms are often fairly troublesome to develop and infrequently take longer than expertise with different software program tasks would point out. Though there are exceptions, advanced algorithm tasks often take between 4 (4) months and a number of other years. True analysis tasks by which new mathematical or logical strategies are developed are extraordinarily unpredictable and usually take years. Most main scientific discoveries and innovations have taken at the least 5 (5) years.

Advanced algorithms continuously contain a good coupling between totally different elements of the algorithm. All elements should work collectively inside tight tolerances for all the algorithm to work. That is just like mechanical programs reminiscent of vehicle engines or mechanical clocks. Certainly, implementations of advanced algorithms are also known as “engines”, partly because of this. Advanced algorithms are sometimes very unforgiving. Even very small errors, getting a single bit incorrect, leads to the implementation failing. This happens continuously with encryption the place often each bit should be appropriate and video compression the place even small errors usually lead to unacceptable “artifacts” within the decoded video. In sensible phrases, which means that the period of time spent per line of working code is usually considerably bigger for advanced algorithm tasks than different software program tasks reminiscent of internet sites, consumer interfaces, database reporting programs, and so forth.

Most business software program tasks contain at most arithmetic taught in early highschool (ninth, tenth grade) within the US. Even superior highschool arithmetic reminiscent of the answer to quadratic equations is unusual exterior of pc graphics. Advanced algorithms in widespread use as we speak usually contain arithmetic that’s taught within the first and second 12 months of faculty at a great school or college within the US. A number of advanced algorithms contain extra superior arithmetic. For instance, the World Positioning System (GPS) makes use of Common Relativity, superior undergraduate or graduate stage arithmetic, to find out the placement and time accurately. Sooner or later, extra superior arithmetic could also be wanted for sample recognition and different superior duties. Most business software program builders wouldn’t have a lot expertise with mathematical software program on the stage present in advanced algorithms. Analysis and growth of advanced algorithms usually requires a variety of mathematical and logical abilities that aren’t widespread.

Return on Funding

The return on funding for a profitable advanced algorithm venture might be very excessive. Advanced algorithm analysis and growth is often performed by small groups or people. Small groups are the most typical. Even a multi-year venture, for instance 5 years, with a ten particular person group (a big group) has a complete value of about $7.5 million (utilizing a complete value per full time worker of $150K/12 months). A house run can remedy a billion greenback or bigger drawback, bringing in a whole bunch of tens of millions and even billions of {dollars}.

  • Return = $100 M / $7.5 M = 13.3 (small dwelling run)
  • Return = $1 B / $7.5 M = 133 (huge dwelling run)
  • Return = $1 T / $7.5 M = 133,000 (off the charts)

The best alternatives and the best dangers lie in areas that require growth of latest mathematical or logical strategies; that’s true analysis. New advanced algorithms might be transformed very quickly to business software program merchandise, even in a matter of months, as occurred with new video compression algorithms in 2003.

Analysis and Growth

The business software program trade focuses overwhelmingly on “technically possible” tasks. Many enterprise capital corporations explicitly declare to solely spend money on confirmed, technically possible tasks. Related pondering pervades the business software program trade. The place advanced algorithms are involved, technically possible means confirmed algorithms for which working prototypes exist someplace. The working prototypes are often pc packages, usually sluggish, that efficiently implement the algorithm. These are continuously prototypes within the C or C++ programming languages, though Java is turning into extra widespread (see the dialogue of software program engineering beneath). Thus, most business tasks within the advanced algorithms enviornment contain such duties as porting algorithms to a unique platform (for instance, Unix to Home windows), optimizing the algorithms for a brand new platform, integrating the algorithms into an software program reminiscent of a media participant, changing a prototype right into a manufacturing system, and so forth. Most analysis scientists would name these actions “Growth” and never “Analysis” or “Analysis and Growth”.

The business software program trade follows a extensively accepted rule to keep away from tasks that aren’t technically possible, that means true analysis tasks. Nonetheless, the rhetoric of the business software program trade, each geared toward unsophisticated buyers and prospects is the alternative. Phrases like analysis, science, and analysis and growth are used routinely to explain business software program growth actions. Many corporations make statements that both explicitly declare or indicate that the corporate has a big R&D group engaged in true analysis. Word that rhetoric geared toward refined buyers reminiscent of enterprise capitalists is usually the alternative, which might be fairly complicated.

Traditionally, the business software program trade has relied closely on authorities sponsored analysis packages such because the Protection Superior Analysis Initiatives Company (DARPA) and the Nationwide Aeronautics and Area Administration (NASA) for the true analysis in software program. Many varieties of software program and particular software program merchandise might be traced again to authorities sponsored analysis packages. Some well-known examples embody the Web, initially a DARPA venture, and the World Extensive Internet, which grew out of analysis tasks at CERN and NCSA. Many different examples exist. Basically all speech recognition software program is derived from analysis sponsored by DARPA, particularly tasks at Carnegie-Mellon College. Nonetheless, trade rhetoric usually invokes the picture of personal inventors in garages, the Wright brothers, and related photos of “free enterprise” and particular person initiative. Usually, the putative inventor reminiscent of Tim Berners-Lee or Marc Andreessen is emphasised and the related authorities analysis program ignored or downplayed. Typically there’s little or no progress in business software program if the related authorities analysis program is unable to make progress. That is most evident in sample recognition and synthetic intelligence, the place progress has been very sluggish or non-existent.

Many authorities analysis packages are troubled by a single “proper method” that’s pursued to the exclusion of all others. If this proper method is sweet, then there’s regular progress within the related business software program discipline. DARPA specifically depends upon periodic contests pitting totally different strategies in opposition to each other. This has repeatedly resulted in a single strategy that confirmed early promise taking on a discipline. A contest of this kind in the course of the 1970’s resulted within the so-called Hidden Markov Mannequin (HMM) primarily based speech recognition strategy changing basically all speech recognition analysis on a worldwide scale. Basically all main speech recognition analysis teams, many immediately funded by DARPA, pursue some variant of the HMM algorithm. But the efficiency of the HMM algorithm continues to be fairly restricted after 30+ years.

Most main business alternatives in advanced algorithms require an organization to fund and undertake real analysis, a troublesome job that few corporations perceive. Synthetic intelligence, speech recognition, cures for main ailments reminiscent of most cancers or working fusion power sources require substantial analysis.

Evaluating Technical Feasibility

In advanced algorithms, technical feasibility usually signifies that a working prototype of the advanced algorithm exists. In follow, working prototypes are sometimes carried out in pc programming languages reminiscent of ANSI C, C++, or Java. Particular algorithm analysis and growth instruments reminiscent of Matlab and Mathematica are additionally used. The working prototype could also be sluggish, inefficient, or produce other limitations, however it’s or needs to be a proof of idea.

Seemingly, it needs to be simple to judge technical feasibility. Merely purchase and check the working prototype. Nonetheless, there’s a lengthy historical past of ostensibly refined organizations and buyers investing in advanced algorithm tasks that aren’t technically possible, usually apparently within the perception that the related drawback had been solved. This has occurred repeatedly with sample recognition and synthetic intelligence. It has additionally occurred with numerous information compression algorithms.

For some cause, some organizations and buyers don’t even purchase and check the working prototypes. That is completely important. It’s usually mentioned that one ought to spend money on folks, not in concepts. Enterprise capitalists and different refined buyers usually quote this platitude. Nonetheless, the historical past of advanced algorithms is crammed with corporations and tasks with officers, administrators, managers, chief scientists, and so forth with gold-plated resumes, spectacular credentials, high levels from high universities, and so forth which have flopped. The underside line in advanced algorithms is that the concepts depend. If the advanced algorithm doesn’t work, it doesn’t work. The corporate or venture will fail for purely technical causes. That is the lesson, for instance, of the Pen Computing fad of the early 1990’s, GO, and Lernout and Hauspie (see beneath). That is additionally one of many classes of the advanced monetary fashions concerned within the present world monetary disaster (2008). Due diligence requires a radical, well-considered unbiased check and analysis of the working prototype.

It may be troublesome to judge expertise demonstrations of advanced algorithms. Typically there are refined and never so refined methods to control a expertise demonstration. For instance, within the early days (1995) of MPEG digital video on private computer systems, MPEG software program video participant corporations gave expertise demonstrations on high-end private computer systems with high-end video acceleration graphics playing cards. In sample recognition, many present-day (2008) sample recognition algorithms can obtain recognition charges within the vary of 80-95% at the least beneath sure managed situations. This appears excessive. In colleges, 80-95% is often a B or an A, a great grade. Nonetheless, sensible real-world sample recognition usually requires a recognition price of 98 or 99% and even higher beneath discipline situations. In each examples, the expertise demonstration might be deceptive with out demonstrably false statements.

Precise fraud might be troublesome to detect and troublesome to show. It is very important conduct checks and evaluations of working prototypes unbiased of the purveyor or different events who could have a cause to perpetrate a fraud. Advanced algorithms can contain the potential for very giant returns on funding—as famous above. Consequently, there’s appreciable motivation for fraud in some circumstances.

How Does Analysis Differ from Growth?

Business software program growth is often unpredictable. Software program tasks continuously contain surprising issues and often take considerably longer than deliberate. Nonetheless, technically possible business software program growth tasks are extra predictable than true analysis tasks. Typically if one takes a conservative value and schedule estimate and multiplies this by an element of three to 4, one will get the precise value and schedule of the venture. A typical joke with a substantial amount of fact is: to get the actual schedule multiply the official schedule by PI (3.14) for operating round in a circle. As a result of the venture is technically possible it might actually be accomplished. Huge value and schedule overruns (reminiscent of elements of ten) can often be defined by incompetence or extreme political issues. True analysis is extraordinarily unpredictable. Many true analysis tasks merely fail. The researchers are unable to seek out the answer. For instance, thus far (2008), basically all makes an attempt to decipher human speech have failed in near a century of makes an attempt. Substantial analysis efforts at Bell Labs, MIT, and different establishments have failed to find out why sure sound spectra correspond to the totally different sounds in English and different languages. Even in profitable analysis, estimates are sometimes method off. For instance, the mathematician Johannes Kepler made a wager in 1600 that he may decide the orbit of Mars in eight (8) days. His discovery of the elliptical orbit of Mars and different planets, one of the vital essential and troublesome discoveries in scientific historical past, took 5 irritating years by which each try to resolve the issue failed till he discovered the reply in only a few days in 1605. This course of by which lengthy intervals of little or no progress are punctuated by sudden unpredictable leaps ahead is typical of true analysis, particularly main scientific discoveries or technological innovations.

True analysis, particularly main scientific discoveries or innovations, often entails a really great amount of trial and error. Typically, after many failures, there’s a leap or leaps by which a brand new strategy or idea is tried which unexpectedly solves the issue. Most main scientific discoveries or innovations took someplace between 5 (5) and twenty (20) years. That is considerably longer than the time-frame of typical business software program trade and enterprise capital funded tasks. In lots of circumstances, one is speaking about 5 to twenty years of failure adopted by a “breakthrough”, as in Kepler’s case.

In my expertise, folks concerned in business software program growth are sometimes unaware that they’ve little or no expertise with true analysis. The deceptive rhetoric of the pc software program trade usually leads folks concerned in business software program growth to assume that they’re engaged within the type of true analysis conjured up by iconic names like Einstein or the Wright brothers. This undoubtedly results in many unhealthy choices and irritating experiences.

The Significance of Speedy Prototyping

Historical past information many exceptional situations when a person or small group succeeded in making a significant scientific discovery or invention on a really small funds, typically beating much better funded rivals. Main scientific discoveries or innovations nearly at all times contain a considerable amount of trial and error. Discoverers or inventors who managed to make a significant discovery or invention on a shoe-string funds often discovered a really quick, cheap technique to carry out the numerous trials and errors required to make a significant discovery or invention.

For instance, James Watt is remembered for inventing the separate condenser steam engine, a significant conceptual leap that turned the steam engine from a distinct segment system utilized in coal mining to a significant driver of the commercial revolution. The Newcomen steam engines of Watt’s time had been enormous costly house-sized engines. Watt nonetheless constructed and experimented with tiny scale fashions constructed from cheap wooden, copper, and different supplies. This enabled him to carry out a whole bunch of trials and errors that led to the breakthrough idea of the separate condenser that radically improved the Newcomen steam engine.

Octave Chanute and the Wright brothers, his proteges, performed analysis and growth of gliders constructed of low-cost wooden and canvas. The gliders had been flown at low altitude on smooth sand seashores, first in Gary, Indiana close to Chicago the place Chanute lived, and later at Kitty Hawk in North Carolina. This meant that the inevitable injury from crashes was restricted and simply repaired. The pilots didn’t die from the crashes as was widespread with different early would-be aviators. By delaying work on the costly engines till final (they deliberate to purchase a business off-the-shelf engine), they averted the large value concerned in repairing or changing an engine after every crash. This enabled Chanute and the Wright brothers to finally succeed the place higher funded efforts reminiscent of Hiram Maxim and Samuel Langley failed.

Progress in aviation and rocketry as we speak is sort of sluggish, nearly flat-lined since 1970, partly as a result of the price of a single trial, particularly a brand new excessive efficiency engine, has turn into extraordinarily excessive, simply within the tens of millions if not billions of {dollars} per prototype engine and automobile. In rocketry and different excessive efficiency engines, the prototype engine and automobile are sometimes destroyed throughout every trial. Web entrepreneur Elon Musk of PayPal fame encountered this drawback along with his SpaceX startup as have many different Web and software program entrepreneurs attracted by the dream of house journey.

In algorithm analysis and growth as we speak, speedy prototyping instruments reminiscent of Matlab and Mathematica (see beneath) velocity up and scale back the price of the numerous trials and errors required in true analysis. This is essential as a result of the variety of trials and errors is often very giant.

The Significance of Conceptual Evaluation

Most main scientific discoveries and innovations often contain a considerable amount of conceptual evaluation expressed in phrases and photos (usually a whole bunch of hundreds of phrases). It is not uncommon to seek out prolonged verbal discussions of the problems mixed with tough sketches or drawings of ideas. For instance, Octave Chanute wrote a complete e-book Progress in Flying Machines containing his prolonged verbal evaluation of the issue of flight. This e-book outlines his profitable analysis plan to develop working powered flight. It comprises a number of tough drawings, as is widespread in main breakthroughs, and just a few temporary calculations. The mathematician Johannes Kepler devoted a lot of his e-book, now generally known as New Astronomy, to a prolonged conceptual evaluation of the issue of planetary orbits which was crucial to his decision of the issue.

Sooner or later, these verbal analyses are refined into exact technical drawings within the case of mechanical innovations and particular mathematical expressions within the case of mathematical discoveries like Kepler’s. Nonetheless, the verbal and visible evaluation seems to be crucial in lots of discoveries and innovations and often comes first. It’s possible that this type of verbal and visible evaluation will likely be important to resolve many issues reminiscent of synthetic intelligence and sample recognition.

Traditionally, this conceptual evaluation was thought of part of philosophy. A lot of the classical coaching in Greek philosophy and arithmetic in all probability offered essential coaching on this conceptual evaluation. The invention of latest mathematical expressions of sensible use strictly by the symbolic manipulation and the extremely summary thought favored by the well-known mathematician David Hilbert and his college on the College of Gottingen within the early twentieth century appears to be uncommon. That is particularly talked about as a result of Hilbert’s extraordinarily summary strategy to larger arithmetic has come to dominate arithmetic and theoretical physics within the twentieth century.

Some Well-known Flops

Advanced algorithm analysis and growth is a treacherous space. There have been quite a few flops and fiascoes through the years. It’s simple to misjudge the technical feasibility of tasks. There’s a lengthy historical past of exaggerated claims for advanced algorithms that emulate points of human intelligence reminiscent of speech recognition. There was huge success in information compression over the previous couple of many years. Nonetheless, there’s a lengthy historical past of exaggerated claims for superior in information compression. Video and different information compression entails advanced algorithms which can be troublesome to judge. Caveat emptor!

The Pen computing fad of the early 1990’s is an instance of a well-known flop. Essentially the most distinguished of those corporations was Jerry Kaplan’s GO, described in his e-book Startup. GO and related corporations’ enterprise plans hinged on handwriting recognition, an unsolved drawback in sample recognition. Kaplan truly devotes just a few pages of his e-book to the handwriting recognition drawback.

One other infamous instance is the speech recognition agency Lernout and Hauspie. Lernout and Hauspie collapsed in a significant monetary scandal with courtroom circumstances and allegations of huge fraud. Once more, the success of Lernout and Hauspie’s enterprise trusted the answer of the speech recognition drawback, which stays largely unsolved even as we speak.

Word that many apparently refined buyers invested many tens of millions of {dollars} in each GO and Lernout and Hauspie, though a modicum of analysis would have revealed the poor state of handwriting and speech recognition expertise on the time.

Some Well-known Successes

Video and audio compression is likely one of the most profitable areas in advanced algorithms. Applied sciences reminiscent of VideoCD, DVD, MP3, and BluRay all incorporate refined audio and video compression algorithms.

A significant breakthrough in video compression reached the market in 2003, embodied in H.264, Home windows Media 10, Flash Video, and different video requirements and merchandise. Previous to 2003 the bitrate for usable, loosely VHS high quality video was about one (1) megabit per second. In 2003, the brand new video applied sciences achieved a bit price of round 275 Kilobits/second, usually with near DVD high quality with correct tuning of the compression. This was a really main advance, a uncommon technological leap ahead. This enabled YouTube and different types of Web/net video over DSL connections.

The underside line is that advanced algorithm analysis and growth might be performed, however it’s troublesome.

Software program Engineering

There are vital variations between software program engineering for advanced algorithm analysis and growth and mainstream software program growth. As talked about above, advanced algorithms usually contain a good coupling between elements of the algorithm that makes growth tougher and tedious than most software program growth.

It’s usually simpler to analysis and develop advanced algorithms utilizing instruments reminiscent of Matlab, Mathematica, AXIOM, or Maxima (previously generally known as MACSYMA). These are scripting languages just like Python or PHP. They often have implicit variable declaration and/or conversion. They’re often “weakly typed” languages and break many textbook guidelines of “good” software program engineering. They embody complete, well-integrated libraries of mathematical, numerical, and statistical capabilities. They often have a knowledge sort recognized variously as an inventory, vector, or matrix that represents sequences of numerical or symbolic information in a versatile method. These instruments are typically known as pc algebra programs (CAS), though that is actually just one subset of their options.

Including Two Vectors in Mathematica

A = {1.0, 2.0, 3.0}; (* A is a Mathematica record *) 
B = {1.1, 0.0, 4.0};
C = A + B 
Out[1]={2.1, 2.0, 7.0}

Including Two Vectors in C/C++

#embody <iostream.h>
double A[3] = {1.0, 2.0, 3.0}; // A is a C++ array 
double B[3] = {1.1, 0.0, 4.0};
double C[3];
int index;
for(index = 0; index <3; index++)
   C[index] = A[index] + B[index];
cout << “{“ << C[1] << “,” << 
C[2] << “,” << C[3] << “}” << 

Word that there’s a vector class template within the C++ Normal Template Library (STL) with considerably related properties to the lists in Mathematica. The above comparability is for illustrative functions. Even utilizing the STL courses, it’s often a lot simpler to analysis, develop, and check algorithms in these instruments than utilizing conventional compiled, strongly typed languages reminiscent of C/C++, Java, or <insert your favourite programming language right here>. Nonetheless, these instruments are sluggish and require giant quantities of reminiscence. This can be a vital disadvantage. As soon as an algorithm is developed, it’s usually essential to convert the algorithm to a quick compiled language for efficiency causes. That is simpler if the goal quick language has good libraries of mathematical, numerical, and statistical capabilities.

One may also analysis and develop algorithms immediately in a quick programming language reminiscent of C/C++ or Java. This avoids conversion prices, velocity, and reminiscence points. Nonetheless, it’s usually a lot simpler to do analysis and growth utilizing a device reminiscent of Matlab or Mathematica.

The main algorithm analysis and growth instruments are:

  • MATLAB: Matlab is extensively used within the business world, particularly in digital sign processing.
  • MATHEMATICA: Mathematica is extensively utilized in authorities sponsored analysis and growth and educational analysis. It has a following in Wall Avenue finance and economics.
  • AXIOM: Axiom is free, open supply, with a Berkeley type license. AXIOM was began in 1971 and has over 300 man years of labor built-in into it.
  • MAXIMA: Maxima is free, open-source, with a GNU license.

Many quick programming languages have been used for advanced algorithms. The most well-liked are in all probability:

  • ANSI C: ANSI C is sort of universally accessible for all processors. It’s easy, environment friendly, with small reminiscence wants and excessive velocity.
  • C++: C++ is object-oriented. It usually has bigger reminiscence wants than C and might be slower.
  • Java: Java is compiled to byte-codes, however is approaching C/C++ in velocity. It may be slower and fewer environment friendly. It may be simpler to reverse engineer.

The dream algorithm R&D device could be just like Matlab or Mathematica however could possibly be compiled to quick, environment friendly binaries just like ANSI C and could be accessible for all platforms. An built-in GUI builder just like Visible Primary and built-in community assist could be useful. The most important single weak spot of all types of scripting languages is that they’re sluggish and can’t be compiled. For compute- intensive advanced algorithms this is usually a very vital drawback. Of scripting languages, solely Visible Primary 6 seems to have solved the issue of manufacturing a compiler that may produce binary executables with related efficiency to C/C++.

These algorithm analysis and growth instruments will not be, in fact, an alternative to thought, creativity, and the intensive conceptual evaluation continuously required for main advances. Trial and error alone, with out perception, hardly ever succeeds.


Advanced algorithm analysis and growth might be performed efficiently. Some nice successes exist. Nonetheless, it isn’t simple and lots of issues can go incorrect. The venture scope is critical. Challenge feasibility is troublesome to evaluate. Real breakthroughs are unpredictable and take time. The return on funding for a house run might be 5 to hundreds of instances the unique funding. There are nice unrealized alternatives, most of which require real analysis.

Copyright © 2009 John F. McGowan, Ph.D.

In regards to the Writer

John F. McGowan, Ph.D. is a software program developer, analysis scientist, and advisor. He works primarily within the space of advanced algorithms that embody superior mathematical and logical ideas, together with speech recognition and video compression applied sciences. He has a few years of expertise creating software program in Visible Primary, C++, and lots of different programming languages and environments. He has a Ph.D. in Physics from the College of Illinois at Urbana-Champaign and a Physics from the California Institute of Know-how (Caltech). He might be reached at jmcgowan11 (at) earthlink.web.


Some Advanced Algorithms

Books and Articles

  1. Startup: A Silicon Valley Journey, by Jerry Kaplan, Houghton Mifflin Co, Boston, 1995, ISBN 0-140-25731-4
  2. “How Excessive-Tech Dream Shattered in Scandal at Lernout & Hauspie”, by Mark Maremont, Jesse Eisinger, and John Carreyrou, Wall Avenue Journal, December 7, 2000
  3. New Astronomy (Nova Astronomia), by Johannes Kepler, Translated from the Latin unique by William H. Donahue, Cambridge College Press, Cambridge, UK, 1992, ISBN 0-521-30131-9

This text was written by John F. McGowan, PhD. In the event you’d like to put in writing for, please e-mail us at submissions (at)