Xah Programing Blog Archive 2010-09

land of lisp war
Bug War, from LAND OF LISP (Book and Comics).

Recently this tweet has been going around:

“Welcome to the new decade: Java is a restricted platform, Google is evil, Apple is a monopoly and Microsoft are the underdogs” — Phil Nash 2010-08-14

Apple is deprecating Java! See: developer.apple.com. Quote:

Java Deprecation

As of the release of Java for Mac OS X 10.6 Update 3, the version of Java that is ported by Apple, and that ships with Mac OS X, is deprecated.

This means that the Apple-produced runtime will not be maintained at the same level, and may be removed from future versions of Mac OS X. The Java runtime shipping in Mac OS X 10.6 Snow Leopard, and Mac OS X 10.5 Leopard, will continue to be supported and maintained through the standard support cycles of those products.

Am so glad of this. Sooo glad. Death to you, Sun Microsystems, and your Java fck. Thank you for your incredible unscrupulous marketing lies and lawsuit gaming.

12 years ago, the creator of tcl, John K Ousterhout, wrote a well-known articleScripting: Higher Level Programming for the 21st Century at http://home.pacbell.net/ouster/scripting.html. (scripting_language_the_future_John_K_Ousterhout.pdf) It is finally coming true in recent years.

A short summary of my computer language experiences, counting only serious involvement, say, few hours a day doing real jobs:

See: Xah Lee's Computing Experience (Impression Of Lisp from Mathematica).

A great piece about terminology in computer languages.

See also: The Importance of Terminology's Quality In Computer Languages.

Windows: How to Remove “Antivirus Action” Malware (malware; virus; software; tips)

What's List Comprehension and Why is it Harmful?

This month, my Java tutorial become quite popular. Here's the most popular pages, with number of page views in the past 30 days.

Java: “static” Keyword5.803k
Java Tutorial: “this” Keyword5.589k
Interface in Java4.627k
Java Tutorial: The “extends” Keyword4.402k
Java: Access Specifiers2.935k
Java Tutorial: Arrays2.673k
Java Tutorial: Defining a Function2.596k
The “abstract” Keyword in Java2.316k
Xah Java Tutorial2.168k

There are several links to them from stackoverflow.com.

Java is the most inane language. I did Java for half a year in a day job in 2000. At the time, i was not really sure what i was doing. (this is a typical situation when coding in a day job on someone else's project.) Then, in 2005 i studied Java in some detail, and wrote my tutorial. However, i actually don't code Java, am not good at it, and will never code anything in Java. (am rather sad that Google choose it as its main lang. (but, it's still much better than C or C++.))

Also, of all big software companies, i HATE Sun Microsystems with passion. It is the company with the most despicable marketing fck, and loves to create random meaningless jargons and abuse established terms. For detail on the jargon part, see:

Of all the 2 thousand tech tutorials and essays i wrote about computing in the past 10 years, i consider the “What are OOP's Jargons and Complexities” piece to be among the top 5 most significant. Am proud of it.

Unicode support in Ruby, Python, Emacs Lisp (commentary)

Windows Flip3D, Instant Viewer, Productivity Tips (tips; efficiency)

Pattern Matching vs Grammar Specification

Discovered about 7 new keyboard layouts since i wrote about them last month. See: Alternative Keyboard Layouts.

New lisp logos:

CLforJava logo
CLforJava logo.
Clozure Common Lisp logo
Clozure Common Lisp logo.

Note that Clozure Common Lisp is used by ITA Software, a software company in the travel industry, recently got bought by Google for 700M USD.

For a gallery, see: A Lambda Logo Tour.

Software Piracy, Open Source, Free Software, Copyright

PLT Scheme lisp is now named Racket. See: http://racket-lang.org/new-name.html.

Also, 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 Buy at amazon, both are apparently lojban speakers! Yay! See: http://www.lojban.org/files/papers/4thtense.

What is lojban? see intro at: Xah's lojban Tutorial.

Pinyin Letter Frequency and Keyboard Layout 拼音字母頻率 鍵盤佈局 (updated)

Just watched a great video:

ELC 2010: Rich Hickey and Joe Pamer - Perspectives on Clojure and F# http://channel9.msdn.com/blogs/charles/emerging-langs-clojure-and-f

It'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#). (See also: OCaml Tutorial.)

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.

F Sharp OCaml Books and People (useful info)

What is Window's shell command to launch a app?, for example: on OS X, i can launch Firefox at a URL with open -a firefox ‹url›.

For example: start firefox yahoo.com.

You might have to add the program path to your environment variable. See: Windows Environment Variables.

Is there a way to set a app to launch only a single process? For example, i prefer Firefox to have a single process, and use 【Ctrl+Tab】 and 【Ctrl+Shift+Tab】 to switch tabs, so i don't have to 【Alt+Tab】 among many windows that are not Firefox. Some app, such as Windows Mail, iTune, Skype etc, are apparently setup this way.

This appears to be app dependent, not a OS level config.

Does anyone know if that's actually true?

See also: How to Increase Efficiency in Using Mac, Linux, Windows

Discovered this nice article on newLISP, which gave me my first intro of the lang:

See also this comparison: Lisp: Common Lisp, Scheme, Clojure, Emacs Lisp @ http://hyperpolyglot.wikidot.com/lisp.

If you want a quick intro by slide show, see: http://www.nuevatec.com/manual-intro.html.

Updated: The keys started to fail on my A Review Microsoft Comfort Curve Keyboard 2000. Amazon reviews confirms that it's a common defect. So, don't buy that keyboard.

Linux: Text Processing: grep, cat, awk, uniq

Discovered SubRip. It's a software used to extract subtitles from movie files, by using optical character recognization. Also, it saves its file in a plain text format with suffix “.srt”. This is extremely useful when you want to read the dialog of a movie. The format is supported by most video editors or players, including youtube.

A more advanced but still widely supported subtitle format is SubStation Alpha, with suffix “.ssa” or “.ass”. It is also a plain text format.

A older subtitle format is MicroDVD with suffix “.sub”. Also a plain text format. There are more. See: Category:Subtitle file formats.

See also:

New programing languages.

For a brief overview of major new langs, see: Proliferation of Computing Languages.

New Clojure Books.

A great site comparing the basic syntax and constructs between Common Lisp, Scheme, Clojure, Emacs Lisp. If you know one of them, this site lets you learn the other very quickly. Am particularly interested in Clojure.

They also have side-by-side cheatsheet for other langs.

Emacs, RSI, My Experiences.

Lisp Macros and Practical Common Lisp (rant)

Programer Celebrities; Styles and Tack (online rambling)

Chinese Input using Dvorak Layout (Microsoft Pinyin IME); 微軟拼音輸入法 Dvorak 佈局 (how-to)

Ask me question on patreon