Fabrice Bellard
Encyclopedia
Fabrice Bellard is a computer programmer who is best known as the creator of the FFmpeg
FFmpeg
FFmpeg is a free software project that produces libraries and programs for handling multimedia data. The most notable parts of FFmpeg are libavcodec, an audio/video codec library used by several other projects, libavformat, an audio/video container mux and demux library, and the ffmpeg command line...

 and QEMU
QEMU
QEMU is a processor emulator that relies on dynamic binary translation to achieve a reasonable speed while being easy to port on new host CPU architectures....

 software projects. He has also developed a number of other programs, including the Tiny C Compiler
Tiny C Compiler
The Tiny C Compiler is an x86 and x86-64 C compiler created by Fabrice Bellard. It is designed to work for slow computers with little disk space . Windows operating system support has been added in version 0.9.23...

.

He was born in 1972 in Grenoble
Grenoble
Grenoble is a city in southeastern France, at the foot of the French Alps where the river Drac joins the Isère. Located in the Rhône-Alpes region, Grenoble is the capital of the department of Isère...

, France
France
The French Republic , The French Republic , The French Republic , (commonly known as France , is a unitary semi-presidential republic in Western Europe with several overseas territories and islands located on other continents and in the Indian, Pacific, and Atlantic oceans. Metropolitan France...

 and went to school in Lycée Joffre (Montpellier), where he created the famous executable compressor LZEXE. After studying at l'École Polytechnique
École Polytechnique
The École Polytechnique is a state-run institution of higher education and research in Palaiseau, Essonne, France, near Paris. Polytechnique is renowned for its four year undergraduate/graduate Master's program...

, he went on to specialize at Télécom Paris
École Nationale Supérieure des Télécommunications
Télécom ParisTech is one of the most prestigious and selective grandes écoles in France and one of the finest institutions in the field of Telecommunications...

 in 1996.

Fabrice Bellard's entries won the International Obfuscated C Code Contest twice: In 2000, he won in the category "Most Specific Output" for a program that implemented the modular Fast Fourier Transform
Fast Fourier transform
A fast Fourier transform is an efficient algorithm to compute the discrete Fourier transform and its inverse. "The FFT has been called the most important numerical algorithm of our lifetime ." There are many distinct FFT algorithms involving a wide range of mathematics, from simple...

 and used it to compute the then biggest known prime number
Prime number
A prime number is a natural number greater than 1 that has no positive divisors other than 1 and itself. A natural number greater than 1 that is not a prime number is called a composite number. For example 5 is prime, as only 1 and 5 divide it, whereas 6 is composite, since it has the divisors 2...

, 2^6972593-1; and in 2001, he won in the category "Best Abuse of the Rules" for a tiny compiler
Compiler
A compiler is a computer program that transforms source code written in a programming language into another computer language...

 (the source code
Source code
In computer science, source code is text written using the format and syntax of the programming language that it is being written in. Such a language is specially designed to facilitate the work of computer programmers, who specify the actions to be performed by a computer mostly by writing source...

 being only 3KB
Kilobyte
The kilobyte is a multiple of the unit byte for digital information. Although the prefix kilo- means 1000, the term kilobyte and symbol KB have historically been used to refer to either 1024 bytes or 1000 bytes, dependent upon context, in the fields of computer science and information...

 in size) of a strict subset of the C language
C (programming language)
C is a general-purpose computer programming language developed between 1969 and 1973 by Dennis Ritchie at the Bell Telephone Laboratories for use with the Unix operating system....

 for i386 Linux
Linux
Linux is a Unix-like computer operating system assembled under the model of free and open source software development and distribution. The defining component of any Linux system is the Linux kernel, an operating system kernel first released October 5, 1991 by Linus Torvalds...

. The program itself is written in this language subset.

He has since continued his work writing software. In 2004, he wrote the TinyCC Boot Loader, which can compile and boot a Linux kernel from source in less than 15 seconds. In 2005, he designed a system that could act as an Analog or DVB-T
DVB-T
DVB-T is an abbreviation for Digital Video Broadcasting — Terrestrial; it is the DVB European-based consortium standard for the broadcast transmission of digital terrestrial television that was first published in 1997 and first broadcast in the UK in 1998...

 Digital TV transmitter by directly generating a VHF signal from a standard PC and VGA card. In 2011, he created a minimal PC emulator written in pure JavaScript
JavaScript
JavaScript is a prototype-based scripting language that is dynamic, weakly typed and has first-class functions. It is a multi-paradigm language, supporting object-oriented, imperative, and functional programming styles....

. The emulated hardware consists of a 32-bit
32-bit
The range of integer values that can be stored in 32 bits is 0 through 4,294,967,295. Hence, a processor with 32-bit memory addresses can directly access 4 GB of byte-addressable memory....

 x86 compatible CPU, a 8259 Programmable Interrupt Controller
Intel 8259
The Intel 8259 is a Programmable Interrupt Controller designed for the Intel 8085 and Intel 8086 microprocessors. The initial part was 8259, a later A suffix version was upward compatible and usable with the 8086 or 8088 processor...

, a 8254 Programmable Interrupt Timer
Intel 8253
The Intel 8253 and 8254 are Programmable Interval Timers , which perform timing and counting functions. They were primarily designed for the Intel 8080/8085-processors, but later used in x86-systems...

, and a 16450 UART.

In 2011 he won a Google-O'Reilly Open Source Award
Google-O'Reilly Open Source Award
The Google-O'Reilly Open Source Award is presented to individuals for dedication, innovation, leadership and outstanding contribution to open source.-External links:* *...

.

Pi calculation record

In 1997, he discovered the fastest formula to calculate single digits of pi
Pi
' is a mathematical constant that is the ratio of any circle's circumference to its diameter. is approximately equal to 3.14. Many formulae in mathematics, science, and engineering involve , which makes it one of the most important mathematical constants...

 in binary
Binary numeral system
The binary numeral system, or base-2 number system, represents numeric values using two symbols, 0 and 1. More specifically, the usual base-2 system is a positional notation with a radix of 2...

 representation, known as Bellard's formula
Bellard's formula
Bellard's formula, as used by PiHex, the now-completed distributed computing project, is used to calculate the nth digit of π in base 2. It is a faster version of the Bailey–Borwein–Plouffe formula...

. It is a variant of the Bailey-Borwein-Plouffe formula.

On December 31st, 2009, he claimed the world record for calculations of π
Pi
' is a mathematical constant that is the ratio of any circle's circumference to its diameter. is approximately equal to 3.14. Many formulae in mathematics, science, and engineering involve , which makes it one of the most important mathematical constants...

, having calculated it to nearly 2.7 trillion places in 90 days. Slashdot wrote: "While the improvement may seem small, it is an outstanding achievement because only a single desktop PC, costing less than $3,000, was used — instead of a multi-million dollar supercomputer as in the previous records." On Aug 2, 2010, this record was eclipsed by Shigeru Kondo who computed 5 trillion digits, although this was done using a server-class machine running dual Xeons, equipped with 96GB of RAM and took over a year to compute.

See also

  • PiHex
    PiHex
    PiHex was a distributed computing project organized by Colin Percival to calculate specific bits of Pi, the greatest calculation of Pi ever successfully attempted. 1,246 contributors used idle time slices on almost two thousand computers to make its calculations...

  • FFmpeg
    FFmpeg
    FFmpeg is a free software project that produces libraries and programs for handling multimedia data. The most notable parts of FFmpeg are libavcodec, an audio/video codec library used by several other projects, libavformat, an audio/video container mux and demux library, and the ffmpeg command line...

  • QEMU
    QEMU
    QEMU is a processor emulator that relies on dynamic binary translation to achieve a reasonable speed while being easy to port on new host CPU architectures....

  • Tiny C Compiler
    Tiny C Compiler
    The Tiny C Compiler is an x86 and x86-64 C compiler created by Fabrice Bellard. It is designed to work for slow computers with little disk space . Windows operating system support has been added in version 0.9.23...

  • Javascript PC emulator - Technical Notes

External links

The source of this article is wikipedia, the free encyclopedia.  The text of this article is licensed under the GFDL.
 
x
OK