All posts by Ronnie

Adios, Fortran. Hola, Python!

As far as I am concerned, there are hundreds of disciplines related to scientific computing realizing their calculation via Fortran language. Fortran, originated at 1950s as a short name for formula translation, is considered to be the first computer language which design for pure science calculating. Once, Fortran is dominant with glory and pride, while it is fading away significantly.

Many of us have long hold a misconception that Fortran is the fastest computing language. Frankly speeking, Fortran routine executes fastly as well as cheaply, and that is why it is so popular for more tha fifty years. Apparently, however, it is definitely not the fastest. For example, assembly language is definitely faster than Fortran, though it is complicated in coding. Holistically, the true advantage of Fortran is a fabulous balance between performance and coding cost. In addition to that, “first” itself may be an advantage either. I often hear scientific reseachers who are reluctant to learn a new language such as C or Python said that there are lots of past programs written in Fortran, we should better keep this consitency for tranplatation and some other reasons. In my opinion, the reason is bullshit as well as blindness. Most of the historical “legacy” are illy written(not readable, not aligned, lack of annotations and etc) because the majority of those writers are amateurs, or even noobs, I often got the impulsion to rewrite a new one, a better one. In addition to that, the old-fashioned grammar and structures have brought in other flaws. Thus, the value of those heritages must be revalued, like Nietzsche’s, and there is really little worth of historcial codes.

Here are the Tiobe index(rankings) which denotes the popularity of programming languages, please note that these are average positions for a period of 12 months.

Programming Language 2015 2010 2005 2000 1995 1990 1985
Java 1 1 2 3 31
C 2 2 1 1 2 1 1
C++ 3 3 3 2 1 2 9
C# 4 5 6 10
Objective-C 5 8 42
Python 6 6 7 25 9
PHP 7 4 4 21
JavaScript 8 10 10 7
Visual Basic .NET 9 192
Perl 10 7 5 4 5 17
Pascal 17 14 17 18 3 7 6
Fortran 25 25 14 17 18 3 5
Lisp 28 15 13 8 10 6 2
Ada 29 22 16 19 4 9 3

As we can see, Fortran fell steeply since 1990, while Python keeps a steady position.

So, wake up, dress up, and python up.

Encyclopedia of Irrational Fears, Which one do you have?

ablutophobia: fear of washing or bathing

acidophobia: preference for non-acidic conditions

acrophobia/altophobia: fear of heights

abibliophobia: fear of running out of reading material

agoraphobia: fear of open spaces,fear of places or events where escape is impossible or when help is unavailable

aibohphobia: a joke term for the fear of palindromes, which is a palindrome itself

ailurophobia: the fear of cats

algophobia: fear of pain

anachrophobia (book title): fear of temporal displacement

angionophobia: an extreme anxiety of choking or painful constriction around the heart

anglophobia: hatred towards England or the English people

angrophobia: fear of becoming angry

anoraknophobia: fear of spiders wearing anoraks

anthropophobia: fear of people or being in a company, a form of social phobia

apiphobia, melissophobia: the fear of bees

aquaphobia: fear of water

arachibutyrophobia: fear of peanut butter sticking to the roof of the mouth

arachnophobia: the fear of people who are afraid of spiders

arithmophobia: the fear of numbers

astraphobia, astrapophobia, brontophobia, keraunophobia: fear of thunder, lightning and storms; especially common in young children.

autophobia: fear of being alone, especially in a car

aviophobia, aviatophobia: fear of taking a flight

bacillophobia, bacteriophobia, microbiophobia: fear of microbes and bacteria

bibliophobia: fear of reading(books)

biphobia: dislike of bisexuals

bolshephobia: the fear of bolshevik party

canophobia/cynophobia: an abnormal fear of dogs

chemophobia: prejudice against artificial substances in favour of ‘natural’ substances
chiroptophobia: the fear of bats

choreophobia: hatred of dance

chromophobia: hatred/fear of colors

cibophobia, sitophobia: aversion to food, synonymous to anorexia nervosa.

claustrophobia: fear of confined (enclosed) spaces

coulrophobia: fear of clowns (not restricted to evil clowns).

cremnophobia: the abnormal, persistent and irrational fear of steep cliffs or precipices

cryophobia: a morbid fear of freezing

crystallophobia: the fear of crystals

cymophobia: the fear of waves and swells

decidophobia: the fear of making decisions

dentalphobia, dentophobia, odontophobia: fear of dentists and dental procedures

dutchphobia: the fear of Dutch

dysmorphophobia, or body dysmorphic disorder: a phobic obsession with a real or imaginary body defect

eleutherophobia: the fear of freedom

emetophobia: fear of vomiting

entomophobia: a specific phobia of one or more classes of insect

ephebiphobia: fear, dislike of the youth
equinophobia, hippophobia: the fear of horses
ergasiophobia, ergophobia: fear of work or functioning, or a surgeon’s fear of operating

erotophobia: fear of sexual love or sexual questions

erythrophobia: pathological blushing

euphobia: Fear of hearing good news

genophobia, coitophobia: fear of sexual intercourse

gephyrophobia: fear of crossing bridges

gerontophobia: fear of growing old or a hatred of the elderly.

glossophobia: fear of speaking in public or of trying to speak.

gymnophobia: fear of nudity

gynophobia: fear of women

haptephobia: fear of being touched

heliophobia:fear of sunlight

hemophobia, haemophobia: fear of blood
herpetophobia: the fear of reptiles
heterophobia: fear/dislike of heterosexuals.

hexakosioihexekontahexaphobia: fear of the number 666

hippopotomonstrosesquipedaliophobia: fear of long words

homophobia: aversion to homosexuality or fear of homosexuals. (This word has become a common political term, and many people interpret it as a slur.)

hoplophobia: fear of weapons, specifically firearms (Generally a political term but the clinical phobia is also documented)

hydrophobia: fear of water

hypegiaphobia: a fear of responsibility

ichthyophobia: the fear of fish
islamophobia: the fear of Islam

ligyrophobia: fear of loud noises

logophobia: an obsessive fear of words

luposlipaphobia: the fear of being pursued by timber wolves around a kitchen table while wearing socks on a newly-waxed floor

maieusophobia: fear of pregnancy

musophobia: the fear of mice and/or rats
mysophobia: fear of germs, contamination or dirt

necrophobia: fear of death, the dead

neophobia, cainophobia, cainotophobia, cenophobia, centophobia, kainolophobia, kainophobia: fear of newness, novelty

nomophobia: fear of being out of mobile phone contact

nosophobia: the fear of contracting a disease

nyctophobia, achluophobia, lygophobia, scotophobia: the fear of darkness

oneirophobia: the fear of dreams

ophidiophobia: the fear of snakes

ornithophobia: n abnormal, irrational fear of birds

osmophobia, olfactophobia: the fear of smells

panphobia: fear of everything or constantly afraid without knowing what is causing it

paraskavedekatriaphobia, paraskevidekatriaphobia, friggatriskaidekaphobia: fear of Friday the 13th

peccatophobia: an abnormal fear of sinning

pedophobia: fear/dislike of children

peniaphobia: the fear of poverty and/or poor people.

phobophobia: fear of phobias

phonophobia: fear of loud sounds

photophobia: hypersensitivity to light causing aversion to light (a symptom of Meningitis and a common condition of migrane headaches)

pogonophobia: the fear of beards or bearded persons

psychophobia: the prejudice and discrimination against mentally ill

pyrophobia: the fear of fire

radiophobia: the fear of radioactivity or X-rays

ranidaphobia: the fear of frogs

sciophobia: the fear of shadows

sociophobia: the fear/dislike of society or people in general (see also “sociopath”)

taphophobia: the fear of the grave, or fear of being placed in a grave while still alive

technophobia/Luddite : the fear of technology

tetraphobia : the fear of the number 4

theophobia: the fear of religion or gods

thermophobia, thermophobic: aversion to heat

tokophobia: fear of childbirth

transphobia: fear or dislike of transgender or transsexual people

triskaidekaphobia, terdekaphobia: fear of the number 13

trypanophobia, aichmophobia, belonephobia, enetophobia: fear of needles or injections

venustraphobia: fear of beautiful women

xenophobia: fear of strangers, foreigners, or aliens

xerophobia, xerophobic: aversion to dryness

Zoophobias: the fear of animals

A Short List of Scientific Papers and Bibliographies Manager


EndNote is probably the most popular software in this area, for its accessibility to both Windows and OS X platform to some extent, while I am not the one who is crazy about EndNote because I am only in Linux, especially for Red Hat or CentOS. To be honest, EndNote is a user friendly tools with colorful interface, and it is easy to handle your reference of almost all disciplines  through it. But you have to notice that it is not a free service, which may cause a little problem for students. In short, if you have no interest in computers and its development but dollars, go and get it.


She is my ideal lady. ResearchGate origins at May, 2008, an Olympic year. It is unique due to social network specialty, which means you can meet and discuss with researchers around the world. Moreover, it is a free software for scientific practitioners only. When you register, you are demanded to type in an email address from a institution or university. For most of you, it is not a problem. However, some odd universities including mine do not endow their student an official email account, even you are a PhD student. It is claimed that ResearchGate have more than 8 millions users now.


Mendeley is my boy, for I am not an authorized user of ResearchGate. An advantage of it is all-platform applicability, no matter you are a user of Windows, OS X, Linux and even ios & android. The registration is simple, an email address and a password are needed. Mendeley can scan and import your documents automatically after some configurations, and you can import from Google Scholar either. In addition to that, you can search authors by name, regardless of the original name of the pdf name, which is usually some unrecognized numbers and characters.

Other useful tools, such as PubMed, JSTOR, JabRef, Academia and etc are also recommended. Maybe I will update in detail some day. You can leave a message to have a discussion with me.


In a tranquil night, emotions arise from the deep of my heart.

Today is Mid-Autumn Festival, a traditional as well as significant event of Chinese for family reunion and enjoying the full moon. Hope everyone all over the world joyful tonight.

As for moon, there is numerous moving fairy tales from Greece to Japan, and China is no exception. The story of a pulchritudinous lady, Chi’ang -Er, is probably the most intriguing one. She had stealed panacea and then flied to the moon like a rocket man, living with a cute rabbit problem-free but deeply lonely. It is hard to retrieve the origin of this story and the people who conceived it. 

Apart from China, we have Daphne, Luna and etc. Thanks for modern science and technology, we now know that there is no beauty lives in moon. And moon is just a satellite orbiting the earth with desert and silence. It is a kind of pity that science breaks up our good beliefs once again, replacing lovely imagination by dumb numbers.

Scientific evidence tells us the precise position of celestial bodies, but never informs us where we are and who we are. Thanks the beautiful minds who created those fragrant folklores, which  maybe specious but plausible.

Thanks to all good things.

Thank you.

A Brief Introduction to Field Theory – the Gradient, the Divergence and the Curl

It goes without saying that the field theory is one of the most promising utilities in physics, while there are few volumes which really concentrate on it. So I write this article just for a kind of supplement. Readers should notice this post includes classic field theory alone without relativity, and if you want know more about quantum field theory, please let me know.


As far as I am concerned, the first man who introduced the idea of the field is Michael Faraday who developed the idea of electromagnetic induction, to describe electric lines. It is sorry that he did not make any concrete progress, mainly because of his lacking of Mathematics education. Later on, the significant triumph of the field theory was realized by James Clerk Maxwell for the famous Maxwell Equations. In the mean time, the gravitation as well as hydrodynamics were keeping up with those milestones, developing their field theory, especially the hydrodynamics due to the similarity. Till now, electromagnetism, together with hydrodynamics(fluid dynamics) is the most active area of the field theory.

A classical field theory is a physical theory that describes the study of how one or more physical fields interact with matter. Any physical field can be thought of as the assignment of a physical quantity at each point of space and time. For example, in a weather forecast, the wind velocity during a day over a country is described by assigning a vector to each point in space. Each vector represents the direction of the movement of air at that point. As the day progresses, the directions in which the vectors point change as the directions of the wind change. From the mathematical viewpoint, classical fields are described by sections of fiber bundles (covariant classical field theory).

Let us come straight to the point and start with three simple but essential concepts:

The Gradient

The gradient (or gradient vector field) of a scalar function f(x_1, x_2, x_3, ..., x_n) is denoted

grad \ f or \nabla f or \vec{ \nabla}f ,

where \nabla is treated as a vector, or, it’s a vector operator. In Cartesian coordinates system, the gradient is the vector field whose components are partial derivatives of f:

\nabla f = \frac{\partial f}{\partial x_i} \vec{e_i},

where x_i, \vec{e_i} are ith coordinate axis and ith standard basis of a Euclidean space respectively, and we use the Einstein’s summation convention for simplicity, similarly hereinafter.

As for the gradient of a vector field, things are getting complicated. For a trivial three-dimensional rectangular coordinates, it is defined by:

\nabla \vec{f} = g^{jk} \frac{\partial f^i}{\partial x_j}\vec{e_i} \vec{e_k},

where g^{jk} are the components of the metric tensor and the product of \vec{e_i} \vec{e_k} is a dyadic tensor of type (2,0) or the Jacobian matrix

\frac{\partial f_i}{\partial x_j} = \frac{\partial (f_1, f_2, f_3)}{\partial (x_1, x_2, x_3)} .

The Divergence

The preliminary concept of divergence is introduced by vector calculus, noting as

div f or \nabla \cdot f or \vec{ \nabla}f ,

where f is a given vector field. More rigorously, the divergence of a vector field F at a point p is defined as the limit of the net flow of F across the smooth boundary of a three-dimensional region V divided by the volume of V as V shrinks to p. Formally, it is defined as following:

\nabla \cdot \vec{f(p}) = \lim\limits_{V \rightarrow P} \iint_{S(V)} \frac{\vec{F} \cdot \vec{n}}{\left| V \right|} dS

where |V| is the volume of V, S(V) is the boundary of V, and the integral is a surface integral with n being the outward unit normal to that surface. The result, div F, is a function of p. From this definition it also becomes explicitly visible that div F can be seen as the source density of the flux of F.

A more common description is in Cartesian coordinates:

\nabla \cdot \vec{F} = \frac{\partial f_1}{\partial x_1} + \frac{\partial f_2}{\partial x_2} + \frac{\partial f_3}{\partial x_3} ,

where F = f_1\vec{e_1} + f_2\vec{e_2} + f_3\vec{e_3}.

The Curl

The curl of a vector field F, denoted by curl F, or ∇ × F, or rot F, at a point is defined in terms of its projection onto various lines through the point.If \vec{n} is any unit vector, the projection of the curl of F onto \vec{n} is defined to be the limiting value of a closed line integral in a plane orthogonal to \vec{n} as the path used in the integral becomes infinitesimally close to the point, divided by the area enclosed. Implicitly, curl is defined by:

\nabla \times \vec{F} \cdot \vec{n}= \lim\limits_{A \rightarrow 0}(\frac{1}{\left|A\right|}\oint_C \vec{F} \cdot d\vec{r})

Likewise, the curl in Cartesian coordinates is most popular:

\nabla \times \vec{F} = (\frac{\partial f_3}{\partial x_2} -\frac{\partial f_2}{\partial x_3})\vec{e_1} +(\frac{\partial f_1}{\partial x_3} -\frac{\partial f_3}{\partial x_1})\vec{e_2} + (\frac{\partial f_2}{\partial x_1} -\frac{\partial f_2}{\partial x_1})\vec{e_3} .

Interestingly, it also can be converted into a determinant, but we are not going to write in here for simplicity.

Thanks to the symmetry, for I am able to copy and paste to save my poor eyes!