2010-07-03

Space Oddity by David Bowie

Perm url with updates: http://xahlee.org/Periodic_dosage_dir/sanga_pemci/space_oddity_david_bowie.html

Space Oddity by David Bowie

Space Oddity, released in 1969, the same year human animals landed on the moon. It is one of the greatest ballad in music history. Eerily serene and catastrophic. Depicting love, and human animal's spacy aspiration, vuneralbility, and the beauty of the earth (in a anthropic perspective). A vernacular record of Human Space program. “check inignition and may God's love be with you”. God, this can put tears in my eyes.

Space Oddity, words and music by David Bowie.

Ground Control to Major Tom
Ground Control to Major Tom
Take your protein pills and put your helmet on
Ground Control to Major Tom
Commencing countdown, engines on
Check ignition and may God's love be with you

  (Ten, Nine, Eight, Seven, Six, Five, Four, Three, Two, One, Liftoff)

This is Ground Control to Major Tom
You've really made the grade
And the papers want to know whose shirts you wear
Now it's time to leave the capsule if you dare

This is Major Tom to Ground Control
I'm stepping through the door
And I'm floating in a most peculiar way
And the stars look very different today
For here, Am I sitting in a tin can
Far above the world
Planet Earth is blue
And there's nothing I can do

Though I'm past one hundred thousand miles
I'm feeling very still
And I think my spaceship knows which way to go
Tell my wife I love her very much she knows

Ground Control to Major Tom
Your circuit's dead, there's something wrong
Can you hear me, Major Tom?
Can you hear me, Major Tom?
Can you hear me, Major Tom?
Can you....

Here am I floating round my tin can
Far above the Moon
Planet Earth is blue
And there's nothing I can do.

CD version.

Thi song is a humanistic view of going into space. It elicits the weakness of human animals, the love in us, and the yearning and aspirations, in the backdrop of the vast expanse and mysteries of the universe.

Let's look at some of the words. The opening verse sets up the feeling of a historical undertaking, of going into far away in the sky, the distance involved, the danger.

Ground Control to Major Tom

This line notes the distance involved. Human communication, in lieu of talking face to face, now takes the unnatural form of “Ground Control to Major Tom”.

Take your protein pills and put your helmet on

Helmet's primary function is protection. The “protein pill” elicits food, a fundamental human need, in a advanced sci-fi form.

Commencing countdown, engines on
Check ignition and may God's love be with you

The line on “checking” ignition, reinforces the idea of danger. You wouldn't check it unless it is critical. And ignition means starting, a initiation. God is a conception tied to birth and function of the universe. In between these lines lie the clear message of the possibilities of never return, and our fundamental quest for the mysteries of the universe.

  (Ten, Nine, Eight, Seven, Six, Five, Four, Three, Two, One, Liftoff)

Then, the lyrics starts a explicit counting down. Count down is a activity done usually for events that's critical and or of major importance, sometimes with heavy emotional ties. Actually counting down makes you feel it. In new years we have count down. If you have seen NASA space shuttle liftoff, the counting down and liftoff is a emotional moment, making many involved teary, especially if for the first time. When you see something that weights tons hover and moves upwards by sheer human's work, in front of your eyes, it makes you feel nature, and our achievements.

You've really made the grade

Here, it uses the phrase “made the grade” to describe success. Quite funny. Making the grade refers to children's success in grade school. So now, going into space successfully, with regards to the universe, is “made the grade”.

And the papers want to know whose shirts you wear

A aspect of human animals, is gossip, and fawn around the powerful and successful, and hear and follow what the successful have to say. This is captured by the funny line of wanting to know whose shirt you wear. Note that T-shirts advertising a company is typical in modern capitalism states.

Now it's time to leave the capsule if you dare

In space missions, it's not a matter of daring. It's all carefully planned. By using “Now it's time” and “if you dare”, it invokes challenge. The complex scientific process and procedure is now translated into a children's line of “now it's time” and “if you dare”.

This is Major Tom to Ground Control
I'm stepping through the door
And I'm floating in a most peculiar way
And the stars look very different today
For here, Am I sitting in a tin can
Far above the world
Planet Earth is blue
And there's nothing I can do

The space capsule, a device that took human animals thousands of years to be able to build, is now described as a tin can. Tin is one of the cheapest and weakest metal. Calling it a tin can shows our vulnerability, and pettiness, with respect to the expansive universe.

The “Planet Earth is blue, And there's nothing I can do” shows our helplessness with regards to nature.

Though I'm past one hundred thousand miles
I'm feeling very still
And I think my spaceship knows which way to go
Tell my wife I love her very much she knows

Here the lyrics takes a tragic turn. When spaceship is dead, drifting in space, like a ship, it doesn't go anywhere meaningfully. When death is approaching, it is not uncommon to make ironic remarks.

Human animals have a binding love, that even one is to die, it is critical to communicate this metal state to the target, even if the target already deeply aware of the fact, and even no behavior or action whatsoever of this mental state of the sender will take place henceforth. However, such message will have significant impact on the receiver, a high-powered mental boost, that usually results in behaviors that increase the receiver's prosperity.

The ending reminds me of the ending of H G Wells's final chapter of Time Machine. That even with a tragic ending, one greatest element of humanity, is instilled in our minds. Quote:

And I have by me, for my comfort, two strange white flowers— shrivelled now, and brown and flat and brittle—to witness that even when mind and strength had gone, gratitude and a mutual tenderness still lived on in the heart of man.

Life on Mars (David Bowie)

Perm url with updates: http://xahlee.org/Periodic_dosage_dir/sanga_pemci/david_bowie.html

Life on Mars (David Bowie)

Xah Lee, 2005-06, 2010-07-03

David Bowie (b1947) is a true artist in all the glory of that word.

“Life on Mars?” (1971), this is a great song. The lyrics is just fantastic. If i were to list top 20 greatest songs (not counting classical music), this would be in it.

Both lyrics and music are by David Bowie.

「• Lennon = what does Lennon refers to? Some web discussion suggest it may be John Lennon and or Vladimir Lenin. The suggestion for Lenin cites the line “the workers have struck for fame” inferring the proletariat in communism. While, Lennon connotes captilism, with his big records success. Some suggest it's a pun on both, since Lennon is a major peace activist in the Vietnam war era, running afoul with the US Government and FBI at the time, and have sympathies for communism. (For more about Lennon, see: I Met the Walrus.) 」
「• Ibiza = a island east of Spain. Ibiza
「• Norfolk Broads = A network of mostly navigable rivers and lakes in the English counties of Norfolk and Suffolk. (above London) Norfolk Broads
Ibiza Norfolk Broads
「• Rule Britannia = a British patriotic song. Rule, Britannia!
It's a god-awful small affair
To the girl with the mousy hair
But her mummy is yelling “No”
And her daddy has told her to go
But her friend is nowhere to be seen
Now she walks through her sunken dream
To the seat with the clearest view
And she's hooked to the silver screen
But the film is a saddening bore
For she's lived it ten times or more
She could spit in the eyes of fools
As they ask her to focus on

Sailors fighting in the dance hall
Oh man! Look at those cavemen go
It's the freakiest show
Take a look at the Lawman
Beating up the wrong guy
Oh man! Wonder if he'll ever know
He's in the best selling show
Is there life on Mars?

It's on Amerika's tortured brow
That Mickey Mouse has grown up a cow
Now the workers have struck for fame
'Cause Lennon's on sale again
See the mice in their million hordes
From Ibiza to the Norfolk Broads
Rule Britannia is out of bounds
To my mother, my dog, and clowns
But the film is a saddening bore
'Cause I wrote it ten times or more
It's about to be writ again
As I ask you to focus on

This vid is directed by Mick Rock, 1973.

Note the distinguished mark of David's pupils. Commonly thought to be a genetic condition known as Heterochromia, e.g. each iris has different color. That's not true. According to Wikipedia, the appearance of David's eye is a result of injury of the left eye. At age 15, he got punched by his friend George Underwood over a girl. Operation prevented it from being blind but left with imperfect vision and permanently dilated pupil.

Wikipedia has quite some detail about the meaning and background of the song. See: Life on Mars?.

胭脂泪 (Girl's Tears) by Teresa Deng

Perm url with updates: http://xahlee.org/Periodic_dosage_dir/sanga_pemci/yan1_zhi3_lei4.html

胭脂泪 (Girl's Tears) by Teresa Deng

Xah Lee, 2010-06-17, 2010-07-03

This poem is composed by 李煜 (Li Houzhu) (936-978), known as the master of free-form verse. His topics is often pleasure making and womanizing.

Title: 胭脂泪 (yan1 zhi3 lei4)
Lyrics: 李煜
Music: 劉家昌
Translation: 李杀 (Xah Lee)
林花謝了春紅
太匆匆
無奈朝來寒雨晚來風

胭脂淚
留人醉
幾時重
自是人生長恨水長東
spring flowers have gone
so hasty
then morn rain, eve storm

girl's tears
ravishing and intoxicating
when again?
only seanons change, and time flies

For another of Li Houzhu's work sung by Teresa, see: 相见欢 (Union Joy).

How to View Comments in JPEG, PNG, MP3 files?

Perm url with updates: http://xahlee.org/img/metadata_in_image_files.html

How to View Comments in JPEG, PNG, MP3 files?

Xah Lee, 2010-07-02

This page shows you how to get the textual comments embedded in jpeg, png, gif, files.

The JPEG is actually just standard compression scheme. It does not actually define a file format. The file formats we usually associate with the name “jpeg” is actually the and Exif, JFIF.

JFIF format is the file format for images compressed using jpeg. Other than digital cameras, vast majority of jpeg images are stored in the jfif file format.

Exif is used by basically all digital cameras. The file contains info such as date time, camera settings, and thumbnail.

Metadata is also stored is various different formats, for files other than image files. For example, video files, and even text files. Two popular general-purpose metadata formats are: IPTC, XMP. There's also the ID3 format for MP3 audio files. There's also Mac OS X Extended Attributes.

What Info Are Embedded?

Metadata can be arbitrary, especially when using IPTC and XMP formats. There may be a lot info embedded in a image files, some can be a privacy issue. For examples:

camera model, camera serial number, camera settings (exposure, shutter, etc.), earth location coordinates (GPS), copyright info, description, summery, character encoding used, keywords (tags), ...

For audio files, it can be song name, composer, artist, album name, rating, sample rate, bps, encoding used, ...

How to View and Change Metadata?

Most good image editors or photo software should be able to show the metadata. On Windows, usually pressing “Alt+Enter” shows the metadata. Here's some example of software that will show metadata:

  • Picasa
  • Microsoft's Explorer (the folder viewer)
  • Microsoft's Windows Photo Gallery
  • Mac OS X Finder (Cmd+i)

Note: if you are not using a dedicated software, the info displayed by the above may not be ALL there is.

ExifTool

The ExifTool, by Phil Harvey, is a widely used popular tool for dealing with metadata in image files. It's available as a command line tool for Windows and unix, but also as a Perl module.

Download at: ExifTool home page.

On Windows, to display metadat, just drag and drop the file onto the icon. Though, it's best used as a command line tool. Just double click to read the doc on how.

To show metadata of a image file on command line, do for example:

exiftool myPhoto.jpg

To show metedata for all images in a dir, you can do for example:

exiftool *jpg

The file name ending can be “*png”, “*mp3”, etc.

Full documentation at: exiftool man page. Plain text version at: exiftool_man_page.txt

Sample Outputs

2010-07-02

OS X Extended Attributes and xattr

Perm url with updates: http://xahlee.org/comp/OS_X_extended_attributes_xattr.html

OS X Extended Attributes and xattr

Xah Lee, 2010-07-02

This article explains Mac OS X's Extended Attributes and the command line utility xattr.

So, i was working on OS X again. ( OS X 10.5) When i do “ls -l”, i noticed the “@” sign, e.g.:

-rw-rw-r--@  1 _www    admin  1046505 Nov 10  2007 collection.jpg

What the fuck is that? 10 years working in unixes, i haven't seen that before. So, some web search found me: Extended file attributes, and the new command line utility “xattr”.

What's Extended Attribute?

Here's a quote from Wikipedia:

Extended file attributes is a file system feature that enables users to associate computer files with metadata not interpreted by the filesystem, whereas regular attributes have a purpose strictly defined by the filesystem (such as permissions or records of creation and modification times). Unlike forks, which can usually be as large as the maximum file size, extended attributes are usually limited in size to a value significantly smaller than the maximum file size. Typical uses can be storing the author of a document, the character encoding of a plain-text document, or a checksum.

Mac OS X 10.4 and later support extended attributes by making use of the HFS+ filesystem Attributes file B*-tree feature which allows for named forks. Although the named forks in HFS+ support arbitrarily large amounts of data through extents, the OS support for extended attributes only supports inline attributes, limiting their size to that which can fit within a single B*-tree node. Any regular file may have a list of extended attributes. HFS+ supports an arbitrary number of named forks, and it is unknown if the Mac OS imposes any limit on the number of extended attributes. Each attribute is denoted by a name and the associated data. The name is a null-terminated Unicode string. The Mac OS X APIs support listing[2], getting[3], setting[4], and removing[5] extended attributes from files or directories. The xattr utility may be used from the Terminal as well.[6]

Extended Attributes are used to store author name, character encoding used, short comments, security/quarantine status, ... and basically any small amount of info about the file.

Note that standard data such as creation date, modification date, permission, are in contrast the normal attributes supported by the whole system. While, HFS/HFS+ file system's resource fork, widely used before Mac OS X , can be considered as a more elaborate extended attribute system, that it also hold main data of the file. (See: Mac OS X Resource Fork and Command Line Tips)

How to use Command Line for extended Attribute

Use “ls -l@ filename”

Apple also made some changes to “ls”. When you do a “ls -l” on a file, if the file has extended attributes, it'll display a “@” sign. You can also use “ls -l -@ filename” to show extended attributes. Example:

-rw-rw-r--@  1 _www    admin  1046505 Nov 10  2007 collection.jpg

Here's a quote from “man ls”:

If the file or directory has extended attributes, the permissions field printed by the -l option is followed by a '@' character. Otherwise, if the file or directory has extended security information (such as an access control list), the permissions field printed by the -l option is followed by a '+' character.

Use xattr

There's no man page for xattr, but “xattr -h” gives a usage summary:

usage: xattr [-l] [-r] [-v] [-x] file [file ...]
       xattr -p [-l] [-r] [-v] [-x] attr_name file [file ...]
       xattr -w [-r] [-v] [-x] attr_name attr_value file [file ...]
       xattr -d [-r] [-v] attr_name file [file ...]

The first form lists the names of all xattrs on the given file(s).
The second form (-p) prints the value of the xattr attr_name.
The third form (-w) sets the value of the xattr attr_name to the string attr_value.
The fourth form (-d) deletes the xattr attr_name.

options:
  -h: print this help
  -r: act recursively
  -l: print long format (attr_name: attr_value and hex output has offsets and
      ascii representation)
  -v: also print filename (automatic with -r and with multiple files)
  -x: attr_value is represented as a hex string for input and output
vmm:vmm xahlee$

What to Put in Extended Attribute?

Extended Attributes are name/value pairs. The names are Unicode characters of less than 128 bytes. (they are probably encoded in utf-8 or utf-16) The values can be text or binary, recommended to be less than 4kb.

There's not standardize structure for names. Anyone can add a attribute named for example “xyz” to a particular file. Apple recommends the use of reverse DNS naming scheme to prevent attribute name conflicts. This is the same scheme adopted by Java. Example:

com.apple.FinderInfo

If you have a domain name, such as “example.com” then your attribute name for file of author can be “com.example.author”. If you don't have a domain name, just make sure the name is not likely used by others.

2010-07-01

Google Analytics Asynchronous Tracking Code

Perm url with updates: http://xahlee.org/js/google_analytics_tracker_code.html

Google Analytics Asynchronous Tracking Code

Xah Lee, 2010-07-01

Few months ago, google released a new tracking code for Google Analytics, featuring asynchronous javascript. If you haven't updated yet, you should do it now. It increases your page load speed noticeably. When during busy times such as morning or noon, it speeds up 1 second or more.

Note that saving a fraction of a second matters. See: Speed Matters (2009-06-23) by Jake Brutlag. Source

This is their old code, in 2 blocks of javascript:

var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
try {
var pageTracker = _gat._getTracker("UA-xxxxxxxx-x");
pageTracker._trackPageview();
} catch(err) {}

This is their new code:

  var _gaq = _gaq || [];
  _gaq.push(['_setAccount', 'UA-xxxxxxxx-x']);
  _gaq.push(['_trackPageview']);

  (function() {
    var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
    ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
    var s = document.getElementsByTagName('script')[0];
    s.parentNode.insertBefore(ga, s);
  })();

Some Analysis of The New Code

Let's study this new code a bit.

You can see that it first creates the variable “_gaq” if it is not already defined. Then it defines a anonymous function by:

function() {...}

then call it at the same time by

(function() {...}) ()

This is commonly known as lambda function or function expression.

The function basically constructs the following html code and insert it into the page.

<script type="text/javascript" src="http://www.google-analytics.com/ga.js"></script>

(or https version at “https://ssl.”.)

Now let's look at the js code “ga.js”. It is a condensed and obfuscated js code. It has a total of 25k chars. It has 839 “;”, and 383 “{}” pairs, and the “function” definition happens about 254 times. If you expand the code into lines, it's about over 1k lines, more likely close to 2k lines. See the files here:

The code seems to use a lot advanced functional programing, with lots of function expressions.

Strut, by Sheena Easton

Perm url with updates: http://xahlee.org/Periodic_dosage_dir/sanga_pemci/strut_Sheena_Easton.html

Strut, by Sheena Easton

Xah Lee, 2010-07-01

Strut (1984).

「• Nations go to war = Do nations go to war over women? Sure, particular in the older times. Nations don't go to war, men do, powerful man. Male animals fighting for mates, is common in animal kingdom. We can see highschool boys fighting over girls, or even in corporate, and just about anywhere. The difference is a matter of civility. When society is still primitive, powerful men are tribe leaders. When they want a chick from yonder that may not belong to them, they go and grab it, with the support of his underling. You can see gangsters do it today. Chinese history and culture, is filled with stories of emperors going war with neighbor states to grab the wives or princesses. This is written in a poem for example: 佳人歌 (The Beauty Song).」
He said, “Baby, what's wrong with you?
Why don't you use your imagination
Nations go to war over women like you,
it's just a form of appreciation

Come on over here, lay your clothes on the chair
Now let the lace fall across your shoulder
Standing in the half light, you're almost like her
So take it slow like your daddy told you”
Strut pout, put it out, that's what you want from women
Come on baby, what'cha taking me for
Strut pout, cut it out, all taking and no giving
Watch me baby while I walk out the door
「• girl for hire = prostitute. It is not uncommon in animal kingdom, that females offer sex in exchange for food. (see: Demonic Males) In particular, this practice is common in human animals, taking many forms, from outright prostitution to concubine to trophy wives. Duo to biology, it is males that give provision to females for sustenance. And in courtship, males providing gifts to females, ultimately for the goal of sexual union. When this is done in a form like a business transaction, it is called prostitution. (See also: A Close Encounter With A Prostitute In Las Vegas.) 」
I said, “Honey, I don't like this game,
you make me feel like a girl for hire
All this fascination with leather
and lace is just the smoke from another fire”
He said, “Honey, don't stop a speeding train
before it reaches its destination
Lie down here beside me, oh, have some fun too
Don't turn away from your true vocation”

I won't be your baby doll, be your baby doll

The song is written by Charlie Dore (b1956) and Julian Littman. (not sure if it's the music composition or lyrics or both.)

2010-06-30

differential equations, Mechanics, and Computation

Perm url with updates: http://xahlee.org/math/blog.html

My friend, professor Richard Palais, co-authored with his son Robert Palais a new book “Differential Equations, Mechanics, and Computation”. I've been hired to help them update the site. The result is this: ode-math.com. Half of the book is free in PDF files. Also, lots of java applets and animation files are coming.

what's it gonna be? (comedy; video)

Perm url with updates: http://xahlee.org/funny/whats_it_gonna_be.html

What's It Gonna Be? (Video)

The Asian guy is comedian Dr Ken Jeong.

Their websites are: mikeoconnell.net, http://www.myspace.com/dr_ken

2010-06-29

GNU Emacs and Xemacs Schism

Perm url with updates: http://xahlee.org/emacs/gnu_emacs_xemacs_schism_Ben_Wing.html

GNU Emacs and Xemacs Schism, by Ben Wing

Ben Wing, 2001?

Many people look at the split between GNU Emacs and XEmacs and are convinced that the XEmacs team is being needlessly divisive and just needs to cooperate a bit with RMS, and the two versions of Emacs will merge. In fact there have been six to seven major attempts at merging, each running hundreds of messages long and all of them coming from the XEmacs side. All have failed because they have eventually come to the same conclusion, which is that RMS has no real interest in cooperation at all. If you work with him, you have to do it his way — “my way or the highway”. Specifically:

1. RMS insists on having legal papers signed for every bit of code that goes into GNU Emacs. RMS's lawyers have told him that every contribution over ten lines long requires legal papers. These papers cannot be filled out over to the web but must be done so in person and mailed to the FSF. Obviously this by itself has a tendency to inhibit contributions because of the hassle factor. Furthermore, many people (and especially organizations) are either hesitant to or refuse to sign legal papers, for reasons mentioned below. Because of these reasons, XEmacs has never enforced legal signed papers for the code in it. Such papers are not a part of the GPL and are not required by any projects other than those of the FSF (for example, Linux does not require such papers). Since we do not know exactly who is the author of every bit of code that has been contributed to XEmacs in the last nine years, we would essentially have to rewrite large sections of the code. The situation however, is worse than that because many of the large copyright holders of XEmacs (for example Sun Microsystems) refuse to sign legal papers. Although they have not stated their reasons, there are quite a number of reasons not to sign legal papers:

  • By doing so you essentially give up all control over your code. You can no longer release your code under a different license. If you want to use your code that you've contributed to the FSF in a project of your own, and that project is not released under the GPL, you are not allowed to do this. Obviously, large companies tend to want to reuse their code in many different projects and as a result feel very uncomfortable about signing legal papers.
  • One of the dangers of assigning copyright to the FSF is that if the FSF happens to be taken over by some evil corporate identity or anyone with different ideas than RMS, they will own all copyright-assigned code, and can revoke the GPL and enforce any license they please. If the code has many different copyright holders, this is much less likely of a scenario.

2. RMS does not like abstract data structures. Abstract data structures are the foundation of XEmacs and most other modern programming projects. In my opinion, is difficult to impossible to write maintainable and expandable code without using abstract data structures. In merging talks with RMS he has said we can have any abstract data structures we want in a merged version but must allow direct access to the implementation as well, which defeats the primary purpose of having abstract data structures.

3. RMS is very unwilling to compromise when it comes to divergent implementations of the same functionality, which is very common between XEmacs and GNU Emacs. Rather than taking the better interface on technical grounds, RMS insists that both interfaces must be implemented in C at the same level (rather than implementing one in C and the other on top if it), so that code that uses either interface is just as fast. This means that the resulting merged Emacs would be filled with a lot of very complicated code to simultaneously support two divergent interfaces, and would be difficult to maintain in this state.

4. RMS’s idea of compromise and cooperation is almost purely political rather than technical. The XEmacs maintainers would like to have issues resolved by examining them technically and deciding what makes the most sense from a technical prospective. RMS however, wants to proceed on a tit for tat kind of basis, which is to say, “If we support this feature of yours, we also get to support this other feature of mine.” The result of such a process is typically a big mess, because there is no overarching design but instead a great deal of incompatible things hodgepodged together.

If only some of the above differences were firmly held by RMS, and if he were willing to compromise effectively on the others and to demonstrate willingness to work with us on the issues that he is less willing to compromise on, we might go ahead with the merge despite misgivings. However RMS has shown no real interest at all in compromising. He has never stated how all of the redundant work that would be required to support his preconditions would get done. It's unlikely that he would do it all and it's certainly not clear that the XEmacs project would be willing to do it all, given that it is a tremendous amount of extra work and the XEmacs project is already strapped for coding resources. (Not to mention the inherent difficulty in convincing people to redo existing work for primarily political reasons.) In general the free software community is quite strapped as a whole for coding resources; duplicative efforts amount to very little positively and have a lot of negative effects in that they take away what few resources we do have from projects that would actually be useful.

RMS however, does not seem to be bothered by this. He is more interested in sticking firm to his principles, though the heavens may fall down, than in working forward to create genuinely useful software. It is abundantly clear that RMS has no real interest in unity except if it happens to be on his own terms and allows him ultimate control over the result. He would rather see nothing happen at all than something that is not exactly according to his principles. The fact that few if any people share his principles is meaningless to him.

Ben Wing

Notes from XahLee.org

This article, was orginially at “http://www.666.com/xemacs/xemacs-split-bens-opinion.htm” as of mid 2000, but is gone as of 2010-06-28. The content is retrived from web.archive.org on 2010-06-28.

The article is probably written in 2001. Because web.archive.org's first archived content of the url is dated 2001-12.

Ben Wing was one of the main developer of Xemacs, after Jamie W Zawinski. However, Ben Wing got Repetitive Strain Injury and i think he exited the programing field in early 2000s. For more detail about this, see: Famous Emacs People With Hand Injuries.

For more detail and resources on history, see Wikipedia: XEmacs. Also, Richard Gabriel, the founder of Lucid Inc, wrote a book named Patterns Of Software, published 1996, which accounts some XEmacs vs GNU Emacs history. I wrote a review in 1998, see: Book Review: Patterns of Software.

See also:

  • Emacs Timeline (1999, 2007), by Jamie Zawinski. jwz.org
  • The Lemacs/FSFmacs Schism (2000), by Jamie W Zawinski. jwz.org
  • XEmacs vs. GNU Emacs, edited by Stephen J Turnbull. xemacs.org

After reading them carefully, you'll see that what's called Emacs, starting with TECMAC and TMACS, are really different software with different implementations, by different people, on different operating systems, for about 5 or more years starting in 1976. When reading about these, you need to put your mind on what computers are like at those times. Typically, a monochrome text terminal, which is capable of displaying some 60 by 40 characters. The typical “editor” at the time operate by modes. That is, you type the command to delete a word, then another command to update the screen to see the word deleted. This is where vi's operation method originated, and also why these emacs editors call themselves as “real-time”, and “DISPLAY” editor, meaning what you typed is updated in real time and in a display, a forerunner concept similar to “what you see is what you get” (WYSIWYG).

I'm guessing that Richard Stallman's GNU Emacs didn't become the main emacs till mid 1980s, Then, Xemacs become widely popular and competitor to GNU Emacs in the 1990s.

All these are before my time. I started using a computer only in 1990. I started to use emacs in 1998 and quickly switched to Xemacs as my choice out of practicality. See: My Experience of Emacs vs XEmacs. But since mid 2000s, Xemacs has fallen due to many reasons. (it'd be too much to write on why, but personally, some reasons are: due to the popularity of Internet/Web in the 1990s together with Apache, Perl, Linux, and the whole Open Source and FSF movement with presses from the mainstream media, Richard Stallman and his works the GNU Emacs gets the prime attention than a “derivative” such as Xemacs, so gradually, GNU Emacs gets more developers, got unicode support, etc, and Xemacs, since long de-coupled with a commercial corporation, just gradually declined.)

It is unfortunate, since Xemacs really is ahead of emacs in many technical ways. However, its semi-dead status is well relfected from its website xemacs.org. Pages there haven't been updated for 5 or 10 years. Its current maintainer, Stephen Turnbull, is a regular participant on GNU Emacs dev forum.

Here's a comprehensive document on Multics Emacs, written by Bernard S Greenberg, around the same time GNU Emacs of Richard Stallman was written. Bernard Greenberg is one of the lispers at the time, who is a founder of Symbolics.

Multics Emacs: The History, Design and Implementation (1996), by Bernard S Greenberg. At multicians.org.

Another founder of Symbolics, Dan Weinreb, has also written a article related to history of the time. Dan is also the author of another emacs at the time, called EINE (EINE Is Not Emacs):

Rebuttal to Stallman's Story About The Formation of Symbolics and LMI (2007-11), by Dan Weinreb. At danweinreb.org

2010-06-28

Famous Emacs People With Hand Injuries

Perm url with updates: http://xahlee.org/emacs/emacs_hand_pain_celebrity.html

Celebrity Programers With Hand Injuries

Xah Lee, 2010-06-28

This page collects tales of well known computer programers who have injured their hands seriously with Repeatitive Strain Injury (RSI), in particular, due to use of emacs.

Richard Stallman, FSF/GNU Founder

Richard Stallman's RSI is well known during the 1990s. I remember reading about it somewhere on his website in the 1990s, perhaps on gnu.org, but i couldn't find it now. At one point, i remember that he is trying to switch to a voice system. Here's a second hand tale.

Which Keyboard? (2007-06-21), by Michael Tiemann, at cnet.com

Fast forward twenty years and I was working 12-16 hours a day hacking on the GNU C++ compiler with more than 100,000 lines of code to my name, and loving every minute of it. One weekend I visited Richard Stallman at MIT and I was shocked to learn that he could no longer type. He was given strict instructions by his doctor to not touch a computer keyboard for 6-12 months, and that if he did, he may lose forever his ability to type. He was a programming pioneer, and at the time, his symptoms were not well known or understood. We all came to understand that it was RSI--repetitive stress injury, exacerbated by the very keystroke combinations that made the Emacs editor such a powerful programming environment. But the root cause was not Emacs--it was the punative design of the QWERTY keyboard, a legacy of the industrial era when complex keyboard mechanisms were not able to keep up with the speed of human fingers. ...

Note: Michael Tiemann was a founder of Cygnus (Cygwin), then later was CEO of Redhat when Redhat bought it.

Jamie W Zawinski

Jamie Zawinski is the main developer of Xemacs, when it was called Lucid Emacs around 1992, and he is often the one blamed for the emacs/xemacs schisim. Jamie is also well known for being the main developer of Netscape browser when the web started in mid 1990s.

Jamie keeps a diary on computer, before there's a word “blog”, and in his writings scattered around his diaries he has talked about his hand injury situation, in his dot com work-to-death years.

Here are some quotes from his writings online:

my wrists and welcome to them (1999), by Jamie Zawinski. At jwz.org.

For several years I had pretty severe wrist pain, and it terrified me. I had these visions of me with withered stumps at the ends of my arms, trying to limp along using speech-recognition software, and my career being over.

The folllowing is from: the netscape dorm (1994), by Jamie Zawinski, at jwz.org.

My hands have been really been hurting lately; I hope all this typing hasn't finally blown out my wrists. If I can't type, my life is over. My right hand especially is flaking out -- the last knuckle of the middle two fingers ache, as if they're badly bruised. I guess it's time to figure out how to use our medical program. As if a doctor is going to tell me something other than ``stop typing so much.'' Ha ha ha, that's a good one.

Ben Wing, Xemacs Main Developer

Ben Wing, is the main developer of Xemacs in the 1990s, following Jamie W Zawinski.

Following is a quote from his xemacs home page at http://xemacs.org/People/ben.wing/

Since September 1992, I've worked on XEmacs as a contractor for various companies and more recently as an unpaid volunteer.

Alas, life has not been good to me recently. This former San Francisco "Mission Critter" developed insidious hand and neck problems after a brief stint working on a Java-based VRML toolkit for the now defunct Dimension X, and I was forced to quit working. I was exiled first to "Stroller Valley" and later all the way to Tucson, Arizona, and for two years was almost completely disabled due to pain. More recently I have fought my way back with loads and loads of narcotic painkillers, and after a stint as an art student at the University of Arizona I'm currently a Ph.D. student in linguistics at the University of Texas, Austin.

It's hard to find much info about Ben Wing online. His pages haven't been updated for something like 15 years, and his domain name 666.com has been squatted for at least several years. I gather he's no longer in the programing industry since late 1990s.

See also: My Experience of Emacs vs XEmacs.

John Ousterhout

John Ousterhout, most well known as the inventor of the tcl language, developed RSI. He switched to using a voice system for almost everything. Here's his article on RSI.

Dealing With RSI (1995-2007), by John Ousterhout. At Source.

I started having pain in my left wrist in 1995, and the problems got progressively worse in spite of (and partly because of) various attempts at treatment. In 1996 I started using a speech recognition system and stopped using my left hand for any typing at all.

My experience suggests that once you start having RSI problems they are unlikely to go away by themselves. Everyone I've ever heard of with RSI problems (myself included) ignored early warning signs and didn't take action anywhere near soon enough, even when the symptoms started becoming severe. It's not clear to me that you can ever "recover" from RSI; all you can do is stabilize at your current level of disability. If there is any recovery, it takes many years.

Though, not sure if John is a emacs user.

Here's a very funny story relating RSI and emacs. From Source.

The Real Reason Unix Hackers Get R.S.I.

From: Patrick Sobalvarro <pgs@pa.dec.com>
Subject: RSI epidemic
Date: Sunday, August 13, 1995 1:26PM

Friday I was talking to my friend Johnson from the CDC, who told me that the CDC had been doing an epidemiological study of clustered RSI cases among computer scientists. He said that they've been waiting to act until their internal review process is completed, but it seems that there is indeed an infectious agent causing RSI. But it's not a biological agent. It's software.

“In particular,” Johnson told me, “the significant vector among academics is Emacs.”

“Emacs?” I gasped.

“Oh yes,” he continued; “Didn't you ever notice that two of the first people in the computer science community around MIT who suffered from RSI were Richard Stallman and Bernie Greenberg ? What were those people implementing fifteen or twenty years ago? That's what tipped us off.”

We were having lunch at the cafeteria at Moffett Field. Johnson watched my hands throughout the meal. “Hey buddy. You're still doing okay anyway, aren't you? It's good to see that. Really good.” He smiled, then looked at his watch and asked, “Walk me to the terminal, will you?”

I accompanied him to the little facility where crew-cut young men in uniform and their dependents, trailer-park girls with squawling babies, sat around waiting for MAC flights to other military facilities. A black helicopter, curiously silent, was waiting on the tarmac outside, its rotors turning lazily in the sunlight. “Ah, that'd be my flight,” said Johnson. “Old Uncle Sam always sends you first-class, ha ha.”

We shook hands. A little anxiously, I asked, “But what will you do about it? About the epidemic?”

Johnson paused before answering. He looked outside at the black helicopter. The pilot had seen him now; in his helmet and visor he appeared strangely insectile as he regarded Johnson patiently. I noticed the booms extending from the sides of the helicopter, where standardized weapons pods could be attached. “Patrick, old buddy,” said Johnson playfully, “Back in high school people said you were smart, but I never thought you had an ounce of sense in your head. Listen: our charter is to protect the people of the United States of America by containing epidemics and eliminating disease. We have many... tools... at our disposal. Why don't you take a break for a while? Go someplace where people don't use Emacs. Where they never heard of Emacs. Don't take it with you. Go to Hawaii — better yet - — go to Redmond. Okay?” He punched my shoulder, smiling. I winced.

Then he strode out onto the tarmac, giving a thumbs-up to the pilot, who spun up the turbines. There was almost no noise. I didn't wait to watch them take off. Robert's R.S.I. Page

Date Last Modified: Tuesday, 09-Apr-2002 12:16:28 EDT

Others

Bill Clementson, a long time lisp programer and emacs user (career started in 1992 according to resume), developed RSI, and adopted the Kinesis Contoured Keyboard as a solution. He wrote about 7 blog articles about it from 2004 to 2006. See his blog at: bc.tech.coop.

Alex Schroeder, best known as the one who started emacswiki.org, also developed RSI. You can find some discussion about RSI here: emacswiki.org RepeatedStrainInjury.

If you know other programing celebrities with RSI, please let me know. Thanks.

2010-06-27

Possibly Maybe by Bjork

Perm url with updates: http://xahlee.org/Periodic_dosage_dir/sanga_pemci/possibly_maybe.html

Possibly Maybe by Bjork

Xah Lee, 2010-06-27

Possibly Maybe, a song by Bjork, with lyrical eroticism, as many of Bjork's songs.

your flirt
it finds me out
teases the crack in me
smittens me with hope

 possibly maybe possibly love

as much as I definitely enjoy solitude
I wouldn't mind perhaps
spending little time with you
sometimes, sometimes

 possibly maybe probably love

uncertainty excites me - baby!
who knows what's going to happen?
lottery or car crash - or you'll join a cult

 possibly maybe possibly love
「• Mon petit vulcan = French, meaning “small volcano”.」
mon petit vulcan
you're eruptions and disasters - I keep calm
admiring the lava - I keep calm (caress)

 possibly maybe  possibly love

electric shocks? I love them!
with you  - dozen a day
but after a while I wonder
where's that love you promised me? where is it?

 possibly maybe  probably love

how can you offer me love like that?
my heart's burnt
how can you offer me love like that?
I'm exhausted - leave me alone!

 possibly maybe  probably love

since we broke up - I'm using lipstick again
I'll suck my tongue - in remembrance of you...

The video is directed by Stéphane Sednaoui.

Lucy Mix version.

The eroticism in Bjork's songs are different from the other modern songs, that comes with conspicuous, or even crude, references to sexual organs or copulation. For example, My Humps from Black Eyed Peas, and My Sugar Walls by Sheena Easton, reference to tits, ass, pussy, in a crude way. Other pop songs refer to heated mating ritual includes SOS by Rihanna, Michael Jackson's Billie Jean, Britney Spears's Baby One More Time.

Note the differences. Bjork's songs, although are not overt in their sexual references, but is quite hardcore in meaning, mentioning penis, vagina, semen, ejaculation, orgasm, penis sucking, almost no other songs do. Other examples are: Pagan Poetry and Cocoon. Also, their music videos are quite daring. They are beautiful.

Here's the official page for Possibly Maybe: http://unit.bjork.com/specials/gh/SUB-13/index.htm.

Math Symbols in Unicode

Perm url with updates: http://xahlee.org/comp/unicode_math_operators.html

Math Symbols in Unicode

Xah Lee, 2010-06-26

This page collects math symbols in Unicode.

Some Greeks: α β γ δ ε ζ η θ ι κ λ μ ν ξ ο π ρ ς τ υ φ χ ψ ω

superscript: ⁰ ⁱ ² ³ ⁴ ⁵ ⁶ ⁷ ⁸ ⁹ ⁺ ⁻ ⁼ ⁽ ⁾ ⁿ

subscript: ₀ ₁ ₂ ₃ ₄ ₅ ₆ ₇ ₈ ₉ ₊ ₋ ₌ ₍ ₎ ₐ ₑ ₒ ₓ ₔ

Roots: √ ∛ ∜

Sets: ℕ ℤ ℚ ℝ ℂ

Constants: ℯ ℵ ⅇ ⅈ ⅉ ∅ ∞ ⧜ ⧝ ⧞

Basic binary operators: × ÷ ⊕ ⊖ ⊗ ⊘ ⊙ ⊚ ⊛ ⊜ ⊝ ⊞ ⊟ ⊠ ⊡ − ∕ ∗ ∘ ∙ ⋅ ⋆

Sets

element of: ∈ ∋ ∉ ∌ ⋶ ⋽ ⋲ ⋺ ⋳ ⋻

misc: ∊ ∍ ⋷ ⋾ ⋴ ⋼ ⋵ ⋸ ⋹ ⫙ ⟒

binary relation of sets: ⊂ ⊃ ⊆ ⊇ ⊈ ⊉ ⊊ ⊋ ⊄ ⊅ ⫅ ⫆ ⫋ ⫌ ⫃ ⫄ ⫇ ⫈ ⫉ ⫊ ⟃ ⟄ ⫏ ⫐ ⫑ ⫒ ⫓ ⫔ ⫕ ⫖ ⫗ ⫘ ⋐ ⋑ ⟈ ⟉

Union: ∪ ⩁ ⩂ ⩅ ⩌ ⩏ ⩐

Intersection: ∩ ⩀ ⩃ ⩄ ⩍ ⩎

Binary operator on sets: ∖ ⩆ ⩇ ⩈ ⩉ ⩊ ⩋ ⪽ ⪾ ⪿ ⫀ ⫁ ⫂ ⋒ ⋓

N-nary operator on sets: ⋂ ⋃ ⊌ ⊍ ⊎

Joins: ⨝ ⟕ ⟖ ⟗

Order

Precede and succeed: ≺ ≻ ≼ ≽ ≾ ≿ ⊀ ⊁ ⋞ ⋟ ⋠ ⋡ ⋨ ⋩ ⪯ ⪰ ⪱ ⪲ ⪳ ⪴ ⪵ ⪶ ⪷ ⪸ ⪹ ⪺ ⪻ ⪼

less and greater: ≮ ≯ ≤ ≥ ≰ ≱ ⪇ ⪈ ≦ ≧ ≨ ≩

less and greater 2: ⋜ ⋝ ⪙ ⪚ ≶ ≷ ≸ ≹ ⋚ ⋛ ⪋ ⪌ ⪑ ⪒ ⪓ ⪔

with approx: ⪅ ⪆ ⪉ ⪊

less and greater with equivalence: ≲ ≳ ⋦ ⋧ ≴ ≵

less and greater with similarity: ⪝ ⪞ ⪟ ⪠ ⪍ ⪎ ⪏ ⪐

less and greater slanted: ⩽ ⩾ ⫹ ⫺ ⪕ ⪖ ⪛ ⪜

less and greater misc: ⪣ ⪤ ⪥ ⪦ ⪧ ⪨ ⪩ ⪪ ⪫ ⪬ ⪭ ⪮ ⪡ ⪢ ⫷ ⫸ ⩹ ⩺ ⩻ ⩼ ≬ ≪ ≫ ⋘ ⋙

Order relation with dot: ⋖ ⋗ ⩿ ⪀ ⪗ ⪘ ⪁ ⪂ ⪃ ⪄

Equality, Identity, Equivalence, Approx, Congruence

equality: ≝ ≞ ≟ ≠ ∹ ≎ ≏ ≐ ≑ ≒ ≓ ≔ ≕ ≖ ≗ ≘ ≙ ≚ ≛ ≜ ⩬ ⩭ ⩮ ⩱ ⩲ ⩦ ⩴ ⩵ ⩶ ⩷

Identity: ≡ ≢ ⩧

Equivalence: ≍ ≭ ≣ ⩸

Approx equality: ≁ ≂ ≃ ≄ ⋍ ≅ ≆ ≇ ≈ ≉ ≊ ≋ ≌ ⩯ ⩰

Misc equality:

Misc relations: ⊏ ⊐ ⊑ ⊒ ⊓ ⊔ ⋢ ⋣ ⋤ ⋥ ⊲ ⊳ ⊴ ⊵ ⋪ ⋫ ⋬ ⋭ ⫴ ⫵

Logic

Logic: ¬ ⫬ ⫭ ⊨ ⊭ ∀ ∁ ∃ ∄ ∴ ∵ ⊦ ⊬ ⊧ ⊩ ⊮ ⊫ ⊯ ⊪ ⊰ ⊱

Logic binary: ∧ ∨ ⊻ ⊼ ⊽ ⋎ ⋏ ⟑ ⟇ ⩑ ⩒ ⩓ ⩔ ⩕ ⩖ ⩗ ⩘ ⩙ ⩚ ⩛ ⩜ ⩝ ⩞ ⩟ ⩠ ⩢ ⩣ ⨇ ⨈

Logic n-nary: ⋀ ⋁

n-nary operators: ∑ ⨀ ⨁ ⨂ ⨃ ⨄ ⨅ ⨆ ∏ ∐ ∔

Geometry

Geometry: ∣ ∤ ⫮ ⌅ ⌆ ℓ ⫛

Ratio and proportion: ∝ ∶ ∷ ∺

Parallel and perpendicular: ∥ ∦ ⫲ ⫳ ⋕ ⟂ ⫡

Right angle: ∟ ⊾ ⦜ ⦝ ⊿

Angles: ∠ ∡ ⦛ ⦞ ⦟ ⦢ ⦣ ⦤ ⦥ ⦦ ⦧ ⦨ ⦩ ⦪ ⦫ ⦬ ⦭ ⦮ ⦯ ⦓ ⦔ ⦕ ⦖ ⟀

Spherical angle: ∢ ⦠ ⦡

...

Pairs: ⌈ ⌉ ⌊ ⌋ ⦋ ⦌ ⟦ ⟧ ⦍ ⦎ ⦏ ⦐

pairs 2: ⟮ ⟯ ⟨ ⟩ ⟪ ⟫ ⦃ ⦄ ⦅ ⦆ ⦇ ⦈ ⦉ ⦊ ⟬ ⟭ ⦗ ⦘ ⦑ ⦒ ⧼ ⧽

integrals: ∫ ∬ ∭ ∮ ∯ ∰ ∱ ∲ ∳ ⨋ ⨌ ⨍ ⨎ ⨏ ⨐ ⨑ ⨒ ⨓ ⨔ ⨕ ⨖ ⨗ ⨘ ⨙ ⨚ ⨛ ⨜

Derivative: ∂ ′ ″ ‴ ∆

vector: ⨯ ∇ ⊹

Misc indicators: ∎ ± ∓ ⋮ ⋯ ⋰ ⋱

Misc symbols:

Tacks: ⊣ ⊢ ⊥ ⊤ ⟘ ⟙ ⟛ ⟝ ⟞ ⟟ ⫧ ⫨ ⫩ ⫪ ⫫ ⫞ ⫟ ⫠

Turnstiles: ⫢ ⫣ ⫤ ⫥ ⟚

Z notation: ⦁ ⦂ ⩤ ⩥ ⨟ ⨠ ⨡ ⨾

Tilde Operators: ∼ ∽ ⩪ ⩫ ⩳

Misc Operators: ⋄ ⫶ ⫼ ⫾

Misc products: ≀ ⨿ ⨼ ⨽ ⧢ ⋉ ⋊ ⋋ ⋌

Plus variations: ⨢ ⨣ ⨤ ⨥ ⨦ ⨧ ⨨ ⨭ ⨮

Solidus: ⫻ ⫽

minus sign variations: ∸ ⨩ ⨪ ⨫ ⨬

maps: ⊶ ⊷ ⊸ ⟜ ⧟

Unsorted: ∾ ⊺ ⋇ ⟌ ⟠ ⋔ ⫚ ⋈ ⟁ ⟅ ⟆ ⟊ ⟐ ⟓ ⟔ ⟡ ⟢ ⟣ ⟤ ⟥ ⦀ ⦙ ⦚ ⧘ ⧙ ⧚ ⧛ ⦰ ⦱ ⦲ ⦳ ⦴ ⦵ ⦶ ⦷ ⦸ ⦹ ⦺ ⦻ ⦼ ⦽ ⦾ ⦿ ⧀ ⧁ ⧂ ⧃ ⧄ ⧅ ⧆ ⧇ ⧈ ⧉ ⧑ ⧒ ⧓ ⧔ ⧕ ⧖ ⧗ ⧠ ⧡ ⧣ ⧤ ⧥ ⧦ ⧧ ⧨ ⧩ ⧪ ⧫ ⧬ ⧭ ⧮ ⧯ ⧰ ⧱ ⧲ ⧳ ⧴ ⧵ ⧶ ⧷ ⧸ ⧹ ⧺ ⧻ ⧾ ⨉ ⨊ ⨞ ⧊ ⧋ ⧌ ⧍ ⨹ ⨺ ⨻ ⧎ ⧏ ⧐ ⨰ ⨱ ⨲ ⨳ ⨴ ⨵ ⨶ ⨷ ⨸ ⩡ ⩨ ⩩ ⫍ ⫎ ⫝̸ ⫝ ⫦ ⫯ ⫰ ⫱

What Chars Are Included

These are roughly “all” math related symbols under the Basic Multilingual Plane (BMP). The total number of chars on this page is about 766.

For few hundred arrows, see: Arrows in Unicode. There are also a few hundred drawing shapes, used together for example to tile into a large braket or boxes, corner, for matrixes, etc. You can see them here: unicode_shapes.txt. There are also few hundred dingbats in unicode, some could be used for math, but are not considered math symbols here.

There are more math symbols but are outside of BMP, and i'm not aware of any fonts that shows much of chars outside BMP. In particular, there are several set of specially rendered alphabets, such as double struck capital letters, Fraktur (aka gothic), bold slanted... They are outside of BMP. You can see them here: unicode_math_alphanum.txt. You can see also part of the operator set grouped by code point, here: unicode_math_operators.txt

Note: this page will be improved over the coming months. e.g. The bunch of less used misc symbols at the bottom can still use some categorizing.

I See Blank Squares?

If some shows up as square, that's probably because you don't have the right font, or your browser is old and isn't configured properly, or your browser simply does not work well. Exact reason can be complex. As of 2010-06-27, latest versions of the following browsers on Windows Vista show all characters (assuming you have the right font first): Google Chrome, Opera, Firefox.

To get proper fonts, see: Best Unicode Fonts.

To find out the unicode name and code point of the char, use emacs. See: xub Unicode Browser mode for Emacs.

Unicode Names for Symbol's Meaning

The symbols are roughly grouped by purpose, and with respect to the symbol's semantic meaning, as opposed to their appearance.

For example, there are many similar looking symbols, and in different fonts they may look different or identical. e.g. ~ ∼ ∿ ∽ ≈. The first is “tilde”, the second is “tilde operator”, third is “sine wave”, 4th is “reversed tilde”, 5th is “almost equal to”.

Another example: ⩳ ≌ ⩯ ⩰. Their names are:

  • EQUALS SIGN ABOVE TILDE OPERATOR
  • ALL EQUAL TO
  • ALMOST EQUAL TO WITH CIRCUMFLEX ACCENT
  • APPROXIMATELY EQUAL OR EQUAL TO

The unicode names give indication of the symbol's meaning. There are some 20 more symbols that's made up wavy line(s) and or horizontal line(s). Best to go by the symbol's name in your choice a symbol, because what you see as rendered by a font may be very different from another font, and often font designers simply got the shape wrong, especially for less common chars.

Formal Language, not Glyphs with no Grammar

Also, i've organized these symbols with respect to their use in calculational proof and formal language. e.g. use in computer proof languages (e.g. Hol, Coq, Isabelle, OCaml) or computer algebra systems (e.g. Mathematica). The symbol's meaning are precisely defined and parsed by a compiler. This is in contrast to traditional math (e.g. LaTeX) where the symbols serve as a picture for communication with humans. See: