Showing posts from September 19, 2010

starting a emacs community?

My emacs tutorial, is getting somewhat popular. I like to thank all the people who came and read it, and also many who has written to me and given feedback.Over the past 13 years since i have a website, i got a lot people who have written to me in private email. Sometimes quite lengthy, and some are quite personal too. In early years (1997 to roughly 2004), vast majority are due to my math stuff. Though, there's always been a problem with keeping in touch. Often, i get their email, i heartily reply, and we may exchanged a few more emails, but often it's hard to keep in touch. This is the days before twitter and facebook. So, a lot of people i would really like to know, and become friends, are basically lost. But also, am not much of a social person. I don't go out much. I've visited bars maybe once in every 5 years. The handful friends i might have in my life, the relationship is almost all platonic and very much intellectual.For the emacs blog, i've been thinki…

Short Intro of Mathematica For Lisp Programers (list processing example)

Perm url with updates: Intro of Mathematica For Lisp Programers (list processing example)Xah Lee, 2008-08The following is a exposition on the how programing language Mathematica is used for a list processing problem. The essay particulars details the nature of nested syntax in comparison to lisp. This article is originally posted to “comp.lang.lisp” newsgroup.Cortez wrote:I need to traverse a list of lists, where each sublist is labelled by a number, and collect together the contents of all sublists sharing the same label. So if I have the list -((0 a b) (1 c d) (2 e f) (3 g h) (1 i j) (2 k l) (4 m n) (2 o p) (4 q r) (5 s t))where the first element of each sublist is the label, I need to produce -((a b) (c d i j) (e f k l o p) (g h) (m n q r) (s t))I do this with the following - (defun test (list) (loop for j in list for index = (first j) for k = (rest j) with indices = nil if (no…

Pirate Bay, Open Source, Free Software, Copyright

Perm url with updates: Bay, Open Source, Free Software, CopyrightXah Recommends:

Amazon Kindle. Read books under the sun. Review Xah Lee, 2010-09-25Read: The pirate bay.Basically, it's a website for illegal downloading of stuff. Music, movies, games, software, books.The mob want things free. So, there's a movement from the mob, especially from the poor and young who has nothing to lose (such as yourself), that says copyright or patent should be eliminated, that digital goods such as software should be shared. The excuse for this greed is goodness for society, such as freedom to share, and chanting in the ways of “evil” and “greed” of “BIG corporations”.The website, as a indirect medium for others to steal anonymously, of course quickly become the most popular. Ranked in the world at 92th. It ran ads, and due to the traffic, the site is making in the ballpark of 1 million USD a year. (estimates vary) The people of the si…

Fredryk Phox (comedy video)

Google's “following” a blog vs subscribe

What's the diff between Google's “following” a blog vs subscribe?If you are using Google's services, you can “follow” a blog published on google's blogger. When you follow, that means, if the blog has a “follow widget”, you will show up there. (similar to Twitter's “followers”.) Follow also means that you are automatically subscribed to the blog, from your Google Reader.Here's Google Help on the topic: Source.Not that the “follow” is exclusively a Google thing. Blogs not hosted by Google doesn't have that concept. Google Reader also lets you “like” any particular blog article. “Like” is something like a “up vote” in many websites. Author can also see how many times a particular article has been “liked”, if they are using Google's service.

Open Source Freesoftware problems

A insightful article:〈The Problems of Open Source〉 (2009). By Dr Mark Tarver. At: Source: Tarver is the creator of the Qi lisp language, a lisp variant based on Common Lisp and major functional lang features comparable to OCaml/F#, Haskell . (See also: Qi Language Logo)Here's excerpt from his article:Free As in Free Speech becomes Free As in Free Beer...We need to get this one out of the way. “Free as in speech” does not mean “free as in beer”, but in fact if you look for GPL software it is almost always “free as in beer”. It's not hard to see why. If you try to sell GPL software, it is possible for your punter to buy it, write some trivial change and resell it under GPL for less, undercutting you. By parity of reasoning this can be repeated down the chain until the price tends to zero. So designers using the GPL nearly always make their work free.Free Software proponents wouldn't admit, that if “FSF Free” Software is actually not $free$, it would …

lisp, python, lojban, tidbits

PLT Scheme lisp is now named Racket. See:, here's a classic piece: The Fate of Lambda in Python 3000 and Scheme v300.Discovered that Guy L Steele , most famous as a inventor of Scheme lisp, and Robert J Chassell, best known as the author of 《An Introduction to Programming in Emacs Lisp》 amazon, both are apparantly lojban speakers! Yay! See: is lojban? see intro at: Xah's lojban Tutorial.

3DXM new version

2010-09-23 Mathematicians Richard Palais and Hermann Karcher, have released a new version of their math visualization software, the 3DXM. The main change is that it now has button-like interface in place of menus, where each button is a icon of the surface or math subject. This makes it much more attractive, and easier to use. Check it out.3DXM screenshot. Note: the new version is for Mac only. For Windows or Linux users, there's always the Java version at the same download location. Though, the Java version has only some 50% of surfaces or other math objects.

Difference Between Emacs's “(getenv PATH)” and “exec-path”

Perm url with updates: Between Emacs's “(getenv PATH)” and “exec-path”Xah Lee, 2009-08-04, 2010-09-23This page explains the mechanisms of setting environment variables in emacs, especially if you have problems in Windows emacs of getting aspell or other unix utils to run.When you start emacs from a shell, emacs inherits shell's environment variables. (true on Windows, Mac, Linux)On Windows, when you start emacs from GUI, emacs also inherit environment variables, from the Registry.On Mac OS X, when you start emacs from GUI, emacs does not inherit environment variables from your shell, but does inherit the system-wide environment variables from 〔~/.MacOSX/environment.plist〕.On Mac OS X, you can start GUI emacs from shell, like this: 「nohup /Applications/ &」.If you are not familiar with env var on Windows or Registry, see:Windows Environment VariablesMicrosoft Windows Registry TutorialSet…

Chinese Pinyin Letter Frequency and Dvorak Layout

Perm url with updates: Pinyin Letter Frequency and Dvorak LayoutXah Lee, 2005-09-01The following is a letter frequency of Chinese in pinyin. The purpose of this study is to find out whether the Dvorak Keyboard Layout is efficient for inputing Chinese with pinyin too. Tones 4 9714 2 7137 1 6805 3 5125 5 1547 Letters i 12620 n 11269 a 9314 u 7075 g 6922 e 6851 h 6815 o 5519 z 3545 d 3363 s 2585 y 2571 j 2299 l 1522 b 1422 x 1361 c 1150 w 1097 r 1073 m 930 f 925 t 881 q 717 k 448 p 255 v 12 (v is u umlaut as in nv (woman) etc) This table is compiled by Dylan Sung, taken from his post in newsgroup sci.lang of 2005-08-27, subject: “Letter frequency of Chinese pinyin”. (Source) Originally, i'm curious about frequency of pinyin because i'm wondering whether Dvorak keyboard is also very efficient in typing pinyin t…

clojure lisp and f# interview

Just watched a great video:〈ELC 2010: Rich Hickey and Joe Pamer - Perspectives on Clojure and F#〉 (2010-08-09)'s 24 minutes. It's interview with Clojure inventor Rick Hickey, and Microsoft's F# compiler writer Joe Pamer.Also: Robin Milner is dead. (1934-2010) He is known as the father of ML (OCaml, F#)

speech recognition software

Today i started to use Microsoft's speech recognition software. It comes with Windows Vista and Windows 7. To use it, you will need a good microphone or headset. (See: Gaming Headset Reviews.)To open it, just go to the “Control Panel”, then choose “Speech Recognition Options”. Then, you might want to go thru the various options and go thru 30 min of training and learning how to use it.You can use it to control windows and menu in some basic way, but I'd use it mostly for dictation when writing essays and emails. Not sure how well it will work out, but i'll give it a shot.

HTML6, Your HTML/XML Simplified

Perm url with updates: Your JSON and SXML SimplifiedXah Lee, 2010-09-21, 2010-09-27, 2010-12-17Tired of the standard bodies telling us what to do and change their altitude? Tired of the SGML/HTML/XML/XHTML/HTML5 changes? Tire no more, here's a new proposal that will make life easier.Introducing HTML6HTML6 is based on HTML5, XML, and a rectified LISP syntax. It is inspired from JSON and SXML. HTML6 is 100% regular at syntax level, and is not a valid javascript expression or lisp expression. The syntax can be specified by about 3 short lines of parsing expression grammar.The aim is a very simple syntax, 100% regularity, leaner, trivial to parse in any language.Like XML in theory, no error should be accepted. If a source code has incorrect syntax, the application should report a error.Syntax ExampleHere's a standard ATOM webfeed XML file. <?xmlversion="1.0"encoding="utf-8"?> <feedxmlns="…

Calorie restriction diet

Perm url with updates: aware of Calorie restriction since about 2004, and have been somewhat practicing it. Basically, “Calorie restriction” is the scientific discovery, started in 1930s. Many animals, when put on a diet of minimal food supply barely enough to sustain life (e.g. the animal is constantly in a hunger state), but with sufficient nutrients, that the animals live much longer and healthier. (e.g. 30% to 40% increase in lifespan.)In the past 10 years, this has been tested on human animals, and the result so far is positive.In the past about 5 years, i've been living on a $3 per day diet. (See: Diet of Xah Lee.)Body Mass Index (BMI) is a easy way to tell if you are too fat or too thin, based on your height and average weight for their height.

“F Sharp”/OCaml Books and People

Perm url with updates:“F Sharp”/OCaml Books and PeopleXah Lee, 2010-09-20This page is a short intro of F#/OCaml books and their authors as of 2010.Discovered a new book on F#/OCaml.《The F# Survival Guide》 By John Puopolo et al. At: ctocorner.comA look at Amazon, there are quite a few books on F#/OCaml too.《Expert F# 2.0 (Expert's Voice in F#)》 (2010) By Don Syme, Adam Granicz, Antonio Cisternino. amazonDon Syme designed F#. He has a website with lots of news on F# at Don Syme. Apparently, a lot is going on.《Real World Functional Programming: With Examples in F# and C#》 (2009) By Tomas Petricek, Jon Skeet. amazonThomas Petricek is a master student specializing in programing models, and interned at Microsoft under Don Syme. His home page is Thomas Petricek.《Beginning F#》 (2009) By Robert Pickering. amazon《Foundations of F# (Expert's Voice in .Net)》 (2007) By Robert Pickering. amazonRobert Pickering se…

Shocking Asian (film)

In around 1987, i rented these movies on VHS. Quite interesting.〈Shocking Asia〉 amazon 〈Shocking Asia 2〉 amazon As a Chinese grew up in Taiwan, i can tell you these are not made up. Here's Wikipedia quote from Shocking Asia:Shocking Asia is a 1974 documentary film written and directed by Rolf Olsen with Ingeborg Stein Steinbach. The film was banned in Finland due to its graphic content. A sequel titled Shocking Asia II: The Last Taboos was released in 1985.

Iron Man 2

Watched 〈Iron Man 2〉 amazon today. I think it is not as good as the first Iron Man, but for you tech lovers out there, it's fantastic.

Using Emacs's Abbrev Mode for Abbreviation

Perm url with updates: Emacs's Abbrev Mode for AbbreviationXah Lee, 2010-09-19This page is a short tutorial on how to use emacs's abbrev mode for abbreviation.Emacs has a abbrev feature that's really useful, and is usually not known to beginners. I lived in emacs daily in a programing day job since 1998, but only learned and started to use abbrev mode in about 2007. Close to 10 years i didn't use abbrev feature, and was too lazy to read about it.Defining Your AbbrevsCreate a file with the following content:; my personal abbreviations (define-abbrev-table 'global-abbrev-table '( ;; math/unicode symbols ("tin""∈" nil 0) ("tnin""∉" nil 0) ("tinf""∞" nil 0) ("tluv""♥" nil 0) ("tsmly""☺" nil 0) ;; email ("twdy""" nil 0) ;; computi…