Lispers and Wikipedia

Lispers and Wikipedia


[The following is posted to comp.lang.lisp newsgroup in a thread's tangent discussion on contributing to Wikipedia]

permanent link: http://xahlee.org/Periodic_dosage_dir/encyclopedia.html

Please people, by all means, add and edit to Wikipedia lisp related info!

I've been reading and editing Wikipedia like for 2 to 8 hours every damn day since about 2003-11. (mostly just reading in the past year) My website has over 3786 links to Wikipedia, and i basically read every article i've linked to. For each article i have linked, there are about 10 more articles i've read.

I read encyclopedias with greed like a leech sucking on blood since ~1992. And i can tell you, with my life's saving on the table, that Wikipedia today as it is in terms of quality and quantity, in depth and in breadth, and all things considered, is FAR beyond any 10 professional encyclopedias and or specialized encyclopedias and references and compendiums and annals COMBINED! (this includes, for example, Encyclopedia Britanica, and any specialized math encyclopedia or computing encyclopedia) (take a minute to ponder the gravity of this claim. And, if you like, try to spend few hours verify it) (i'd write more detail to back up this claim but that's be adding another thousand words to this already long post.)

And when i read computing related articles in Wikipedia, i see motherfucking Perl this and Python that and Ruby this and Java that and how versatile they are fucking shit everywhere inappropriately, but which you can't touch because anytime you try to correct, the motherfuckers that are these (innocently or otherwise) ignorant yet fanatical tech geekers ARMY of them revert it back. While, in places i see where lisp info is appropriate, it's not there! And on occasion in recent months i mentioned particular pages in lisp or scheme groups, these fucking aloof shitheads think they all above it and do nothing. (especially the Schemers. Fuck them. Die!)

Although personally i too have gripes and political issues with Wikipedia, or some of its policies, and sour grape syndrome on how it should be or should not be, but overall i have the highest esteem for Wikipedia, and Wikipedia considered in social framework in my opinion is changing the world in a global scale, far more powerful than any organized religion or political group (such as the George Bush motherfucker). If a calamity by Zeus is to fall upon this earth and wipe out all websites for good except one, that one should be Wikipedia.

Wikipedia is not only the supreme force in changing us human animal's social structure and outlook, it is also leading many good technology in many ways. For example, it is a prime (and perhaps effectively the ONLY) force in pushing svg, ogg formats, and due to Wikipedia's immense popularity, its force is so powerful in a practical way that even the combined commercial mega corporations with their proprietary formats will fear (you name it: Apple's music/video formats, Microsoft's, Adobe's PDF and Flash stuff...etc). (Note: i'm not against proprietary formats.) And, it is just about the ONLY high-trafficked website that produces valid HTML. Imagine that, folks. (in various language and tech groups, such as python, perl, lisp etc all claim superiority, but one look at the html docs they produced, all are motherfucking invalid html with errors lighting up like a Xmas tree.) (Wikipedia's traffic is ranked within top 10 or so in Alexa.com for the past 2 or more years. (my website is ranked ~80k and every single 3400+ HTML pages on my website is correct (aka valid) HTML too))

Sure, Wikipedia is getting big now and fat, with big power, but let's not all be too tech geeking cynical about corruption. FSF/OpenSource is pretty big now like a juggernaut too. (In fact, you can consider Wikipedia as rather a _direct_ product of FSF's ideals. (further, i'd argue that the primary force of FSF, lies in its GPL, and the power that drove GPL, is its cruel, unforgiving, “fuck you” nature of its “fight fire with fire” aspect, eagerly operated and cultivated by the cruel, unforgiving, aggressive, males (mostly young) specie of the human animals society.))

So, lispers, go read and edit Wikipedia! You don't have to devote your precious time and knowledge to do edit-wars with Perl or Python army of morons on board, but when at leisure or chance upon, do try to correct or add info as you see fit.

Graphics Programing Pains

Perm url with updates: http://xahlee.org/3d/graphics_programing_pain.html

Graphics Programing Pains

Xah Lee, 2007-12-29, 2009-06

[this essay is a rambling about programing GUI app and 3D geometry]

I have a problem. I want to do 3D geometry visualization programing, but there is no appropriate tools. (see Requirements For A Visualization Software System For 2020) O, fuck the industry.

GUI Programing Pain

I never had any experience writing a GUI application. (except web/HTML form based ones, which doesn't really count.) About 3 times in different years since 1997, i tried to learn GUI programing thru Java's Swing (Java). But each time i aborted rather even before getting a basic understanding of how to create a menu. Today is another try, and perhaps the furthest i've made. To make a empty window with a menu with no actions attached, requires some fucking 170 lines of java code, and tens of classes and objects with complex relationships. (sample code here:MenuLookDemo.java)

So, i am wondering, is this the general state of affairs for GUI programing, or is it just Java? I asked a bit on freenode irc, and it seems to be java, although i guess programing GUI using any widget toolkits is not gonna be a walk in the park.

I like to work on software projects that are mission critical, or backend engines, so i don't regard GUI apps that much important. Nevertheless, GUI, as its name implies, provides a graphical user interface, and is in fact a element most software needs. In particular, one of my hobby is programing geometric visualization. Imagine viewing and rotating a molecule structure in 3D. Such a software requires a GUI.

So, even knowing it's gonna be a pain, and at this point i'm gonna abandon Java's Swing again because it is intolerable, but i did half-heartedly looked into alternatives of GUI widgets, in part to acquaint myself what's out there, and maybe pave the road to learn a thing or two about how to actually use a widget toolkit to create a menu or button.

It seems to me, the most popular free GUI widget out there are: GTK, Qt (toolkit), Tk (framework).

Each has various language bindings. I think i might want to start to tinkle with PyGTK.

One thing interesting is that Cairo (graphics) is a recently developed library for drawing vector graphics, and recent version of GTK+ uses it.

The following apps i'm familiar with uses Qt: KDE (linux desktop), Linux version of Mathematica, Google Earth, Opera (web browser), Skype, TeamSpeak.

3D Programing Pain

Ok, that's about the GUI bit. But what about geometry visualization programing bit? The answer, is pretty much OpenGL (Mesa 3D), Direct3D.

Direct3D is Windows only. Since my professional expertise all lies in unix, and basically don't know much about Windows's technologies, so Direct3D is out for me.

Now, i have read about OpenGL a lot since 1994... but basically it is more low-level pain, perhaps a order of magnitude more painful than doing Java Swing. However, if you really want to get down to creating a geometry visualization software that is good quality (namely, fast), OpenGL or similar is a inevitability. (the alternative, of doing projections yourself and paint them to screen, is hackish and way slower)

Given my problem and persistent infatuation with visualization of geometry, i think going down getting familiar with OpenGL stuff is necessary, or strongly advisable. So, i started to read many articles on Wikipedia related to computer graphics, in particular the low level stuff. Here's some random articles or terms i'm learning or read.

Graphics pipeline. This is the most important concept. Basically, a 3D scene is passed to the graphics card, and processed in various stages, to produce a 2D bitmap for the screen.

Here are some general important concepts.

Some concepts at the bitmap stage.

  • Z-buffering A method to determine which pixel (of objec) is visible. This approach basically outdates the Painter's algorithm
  • Anti-aliasing Woot! all i know about anti-aliasing is in the context of fonts and line drawing. Didn't explicitly know the implementation is so deep.
  • Alpha compositing basically for handling transparencies.
  • Mipmap basically reducing the computation time by pre-storage of scaled-down bitmaps for surface texture rendering purposes.
  • Texture mapping Applying a bitmap to surface, either for the purpose of creating a image on the surface (say a pict on cereal box), but usually for the purpose of faking surface qualities (i.e. a tree bark, fresco wall).
  • Bump mapping. A specialized texture mapping technique to simulate uneven surfaces. (say, on a orange)

3D Engines

... it seems to me that there are no high-level graphics engines. Fahrenheit graphics API and QuickDraw3D are supposed to be the one but went no where.

Some of the free game engines:

This seems to be the best: O3D for my needs. It uses a highlevel lang JavaScript, so i don't have to worry about low-level graphics fuck. It accesses GPU transparently, so i don't have to worry about it. It runs in browser, which is what i need for my visualization apps. And it is in the position to be standardized as web 3D tech. The downside is that this will be few years to come.

Some free physics engines:

Game Development

Here's some articles related to game development.

wikipedia readings on evolutionary biology


Excursion into evolutionary biology:

A quote from the Sexual Selection article:

«Sexual selection is the theory proposed by Charles Darwin that states that the frequency of traits can increase or decrease depending on the attractiveness of the bearer. Biologists today distinguish between “male to male combat” (it is usually males who fight), “mate choice” (usually female choice of male mates) and “mate coercion” (forced mating). Traits selected for by male combat are called “weapons”, and traits selected by mate choice are called “ornaments”.»


john lennon

While annotating David Bowie's song lyrics Life on Mars, i read Wikipedia on John Lennon (1940-1980), i learned that in his time he had a decade-long, widely publicized, major conflict with the US government regarding his deportation as means to silence his anti-war activities in US, and that he is murdered. Here's some selected quotes from Wikipedia:

In 1976, Lennon's U.S. immigration status was finally resolved favourably, after a years-long battle with the Nixon administration that included an FBI investigation — a full-scale effort involving surveillance, wiretaps, and agents following Lennon around as he travelled. Lennon insisted that the investigation was politically motivated, a claim that was later proven true.

Nixon left the White House after the Watergate scandal, and Lennon won his green card in 1975. After Lennon’s murder, historian Jon Wiener filed a Freedom of Information request for FBI files on Lennon. The FBI admitted it had 281 pages of files on Lennon, but refused to release most of them, claiming they were national security documents. In 1983, Wiener sued the FBI with the help of the American Civil Liberties Union of Southern California. The case went to the Supreme Court before the FBI settled in 1997 — releasing all but ten of the contested documents.[125][126] The story is told in the documentary The U.S. vs. John Lennon, by David Leaf and John Scheinfeld, released in theatres in September 2006 and on DVD in February 2007. The final ten documents in Lennon's FBI file were finally released in December 2006.[127] and are available on the web.[128]

Lennon is a true folk hero of humanity.


taiwan under dutch rule


Taiwan under Dutch rule↗. Excerpt:

«Dutch traders, in search of an Asian base first claimed Formosa (Taiwan) in 1624 as a base for Dutch commerce with Japan and the coast of China.»
«The Dutch built a second administrative castle on the main island of Taiwan in 1633 and set out to earnestly turn Taiwan into a Dutch colony. The first order of business was to punish villages that had violently opposed the Dutch and unite the aborigines in allegiance with the VOC.»
«The 1636 punitive attack on Lamay Island in response to the killing of the shipwrecked crew of the Beverwijck and the Golden Lion (Xiao Liu Qiu) ended ten years later with the entire aboriginal population of 1100 removed from the island, including 327 Lamayans killed in a cave, having been trapped there by the Dutch and suffocated by the fumes and smoke pumped into the cave by the Dutch in cooperation with aborigines from Saccam, Soulang and Pangsoya. The men were forced into slavery in Batavia (Java) and the women and children became servants and wives for the Dutch officers.»
«In 1661, a naval fleet of 1000 warships, led by the Ming loyalist and pirate Koxinga (國姓爺, aka 鄭成功), arrived in Taiwan to destroy and oust the Dutch from Zeelandia.»

I lived in Taiwan for 14 years since i was born there (1968-1982). Though, i haven't seen any residue of the Dutch. Not in culture, not in landmark, not a iota of a inkling of Hollanders, except that i recall 'was mentioned in school books.

If the Hollander didn't got kicked out, i might have blue eyes today.


prostitution in the Netherlands


De Wallen↗, Prostitution in the Netherlands↗. Hurrah to the Nether-Lands!

Some excerpts:

«Prostitution has long been tolerated in the Netherlands under the gedoogbeleid (policy of tolerance) with the reasoning that the worlds 'oldest profession' has proven impossible to ban by any government. Indeed in where it is banned it is usually the prostitute who is the victim and, as the easiest target, the one who suffers criminal prosecution instead of the client or pimp.»
«The prostitutes are usually self-employed, though not always. Health and social services are readily available, but the women are not required to undergo regular health checks. A recent study found that despite health rules, about 7 percent of Dutch prostitutes have HIV/AIDS.»
«Dutch attitudes regarding prostitution support legalization and normalization. Public opinion polls conducted in the late 1990s show that the Dutch public overwhelmingly rejects the notion that prostitution is unacceptable, deviant behavior. In a 1997 survey, 73 percent of Dutch citizens favored legalization of brothels, 74 percent said that prostitution was an "acceptable job," and in a 1999 poll 78 percent felt that prostitution is a job like any other job (polls cited in Weitzer 2000, p. 178)»

Annotated Gulliver's Travels, part 3 chapter 11.


grizzly bear, saddam et al.


• Watched the movie Grizzly Man↗ by happenstance. The entire movie is a documentary about the guy Timothy Treadwell↗ (1957-2003). As you watch the film, you'll see that Tim is a emotionally unstable nutcase, and loving bears and “protecting” grizzly bears has become his life's addiction and purported goal. What make the whole affair interesting and having a movie made about him, is that he got eaten by the bears, while he's living his ways in the wild, along with his girlfriend. And they turned on their video recorder in the last few minutes of their lives.

Brown bear↗, Grizzly Bear↗, Grizzly-polar bear hybrid↗. These guys weights up to 700 kg, and can run at some 55 km/h. A force not to be reckoned with. (the quip is just for one-on-one encounter only. Of course, if we wanted, we can kill any bear, nay, his entire family. Nah, when push comes to shove, we human animals can have their entire race exterminated within days. Bears, go home!)

Bird's nest soup↗ (燕窩) Chinese eats these. These are edible nest made by a particular type of swallow called cave swifts. «A single white nest can cost up to $2,000, and a “red blood” nest can cost up to $10,000.»

As far as my life-style or philosophy goes, i think anyone who eats this is a fuckhead. In the pre-high-tech times, it is ok for human animals to eat these, for the pleasure of variety in taste as well as the nutrient it provides. After all, we got eaten by all sorts of other carnivorous beasts too. Besides, we can eat bird nest all day and they'd out number us. But in our technological era of 21st century, where we human animals have dominated the landscape, to the point that we are extincting hundreds of other species at the pace of per decade, carnivorous or not. In such a day and age, it doesn't seems right to pluck a bird's nest just for the novelty of taste. I mean, if you need nutrition, there's vitamin C. If you are starving, there's McDonalds. If you want variety in food, there's Indian cuisine, Chinese cuisine, French cuisine, mediterranean food, and sushi and pizza, and Starbuck's coffee & Coke. What kind of fuckhead needs to climb ladders over precipitous cliffs to steal a bird's nest (and kill the birds) for food just for a show of status? Yeah, that's the Chinese. The Chinese are also superstitious about eating Rhino horns and Tiger's penis and Shark's fins↗ , thinking that these will enhance a man's sexual prowess. What fuck faces they are.

• Saddam Hussein is dead. Here's some excerpt from wikipedia: Execution of Saddam Hussein↗:

«Saddam's lawyers have stated that they believe that the trial was unfair, calling the trial “political assassination,” and will continue to “[use] all legal paths available locally and internationally until public opinion gets the truth...”[81]»
«Human Rights Watch issued a statement claiming the “execution follows a flawed trial and marks a significant step away from the rule of law in Iraq.”[78] Amnesty International also released a statement saying it “opposed the death penalty in all circumstances but it was especially egregious when this ultimate punishment is imposed after an unfair trial.”[82] The International Federation of Human Rights released a statement on December 27, two days before Saddam's death, calling “upon Iraq's Head of State to ensure a moratorium on the death sentence pronounced against Saddam Hussein.” The organization also claimed Saddam should be treated as a prisoner of war and receive the rights of one, according to the Geneva conventions. [83]»

Note that George W Bush, caused the death of Iraqi people from about 50 thousand to 250 thousand (counting only civilians), and this is done without the sanction of most other races, and USA's military power is far beyond the rest of the world. (US military spending is about equal to the sum of all the rest of the world's countries.)

Chinese has a saying: “胜者为王,败者为寇”, meaning “the winner is the king, the loser is the bandit”. The roughly equivalent English idiom is “Winner takes all”. It is simply a matter of natural law, that the most powerful decides what is right and wrong. (presuming here that there is such a thing as “Right and Wrong”.)

When a cat toys with a mouse before rending it to pieces, one don't say “hey, that's unfair”. It is unfortunate, that the cat has claws, and the mouse doesn't. Now, we US has nuclear weapons, and Saddam Hussein doesn't. This is the fundamental priciple of politics.

Suggested readings: